유효성 검사 오류에 대해 아래 코드를 사용하고 있지만 오류 메시지가 표시되지 않습니다. 누구든지 도울 수 있습니다. Form Builder를 사용하여 구성 요소에 유효성 검사기를 설정했습니다.
하나의 양식 (그룹) 만 사용하면 작동하지만 중첩 양식 그룹에서는 작동하지 않습니다.
import {Component, NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
import {ReactiveFormsModule, FormsModule, FormGroup, FormBuilder, Validators} from "@angular/forms";
@Component({
selector: 'my-app',
template: `
<div class="login">
<form [formGroup]="registerForm" (ngSubmit)="dologin(form.value)">
<div class="form-group" formGroupName="user" id ="user">
<div class="form-group">
<label for="username">Username</label>
<input id="username" type="text" class="form-control" name="username" formControlName="username">
<div [hidden]="registerForm.controls['username'].valid || registerForm.controls['username'].pristine"
class="alert alert-danger"> Username is required.</div>
</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<input id="password" type="password" class="form-control" name="password" [formControl]="registerForm.controls['password']">
<div [hidden]="registerForm.controls['password'].valid || registerForm.controls['password'].pristine"
class="alert alert-danger"> Password is required.</div>
</div>
<button type="button" (click)="logOut([registerForm])">Check vals</button>
<button type="submit" [disabled]="!registerForm.valid" class="btn btn-primary">Login</button>
</form>
</div>
`,
providers: [FormBuilder]
})
export class App {
name:string;
form: FormGroup;
constructor(private fb: FormBuilder) {
this.name = 'Angular2'
this.registerForm=this.fb.group({
user:this.fb.group({
username:['',Validators.required]
}),
password:['',Validators.required]
});
}
logOut(x: any) {
for(var i = 0; i < x.length; ++i) {
console.log(x[i]);
}
}
dologin(stuff: any) {
console.log(stuff);
}
}
@NgModule({
imports: [ BrowserModule, ReactiveFormsModule ],
declarations: [ App ],
bootstrap: [ App ]
})
export class AppModule {}
다음 변경 사항을 시도하십시오
<div *ngIf="registerForm.get('user.username').hasError('required') && registerForm.get('user.username').touched"
class="alert alert-danger"> Username is required.</div>
암호 오류를 표시하려면
<div *ngIf="registerForm.get('password').hasError('required') && registerForm.get('password').touched"
class="alert alert-danger"> Password is required.</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다