0

フォームが送信されたときに無効なフィールドを赤色で強調表示する必要があるような方法で検証から作成しようとしていますが、どこが間違っているのかわかりません。

私のテンプレート、

 <form id="login-form" name="login-form" class="nobottommargin" [formGroup]="form" (ngSubmit)="onSubmit(form.value)">
    <p *ngIf="activation" class="activation">We have sent an activation link to your email</p>
    <div class="form-group col-sm-offset-2">
           <label class="radio-inline">
                <input type="radio"  [formControl]="form.controls['type']" value = 'personal' name="optradio">Personal
            </label>
            <label class="radio-inline">
                <input type="radio"  [formControl]="form.controls['type']" value = 'professional' name="optradio">Professional
            </label>
    </div>
    <div class="form-group">
        <input type="text" [formControl]="form.controls['firstname']" id="login-form-firstnamee" name="login-form-firstname" value="" placeholder="First Name" class="sm-form-control not-dark formcontrolheight required">
   </div>
    <div class="clear"></div>
    <div class="col-sm-12 labeltopmargin nopadding">
        <button class="col-xs-12 button buttonmeroon button-mini   nomargin" id="login-form-submit" name="login-form-submit"  value="login">Sign Up</button>
    </div>

    <div class="clear"></div>
</form>

私のTS、

export class SignUp {
http: Http;
emailfailure: any;
activation: any;
profilefailure: any;
form:any;
constructor(fbld: FormBuilder, http: Http, public router: Router) {
    this.http = http;
    this.form = fbld.group({
        firstname: ['', Validators.required],
        lastname: ['', Validators.required],
        profilename: ['', Validators.required],
        email: ['', Validators.required],
        password: ['', Validators.required],
        repeatpassword: ['', Validators.required],
        image: [''],
        phone: ['', phoneValidator],
        type: ['',],
    }
4

2 に答える 2

0

Validator の要件を満たさない場合は、入力に追加される .ng-invalid クラスを使用できます。

フォームの状態に応じて、いくつかのエラー メッセージを表示することもできます。

<div class="error message" *ngIf="!form.valid">Your message</div>
于 2016-08-23T12:22:48.517 に答える
0

これは、angular 2 での単純なフォーム検証です

  <form   #heroForm="ngForm">
     <div class="form-group">
     <label for="name">Name</label>
     <input type="text" class="form-control" id="name"
           required
           [(ngModel)]="info.name" name="name"
           #name="ngModel" >
    <span *ngIf="!name.valid && !name.pristine" style="color:red;">   <span>name is Required</span></span>
  </div>

  <div class="form-group">
    <label for="alterEgo">Alter Ego</label>
    <input type="text" class="form-control" id="alterEgo"
           [(ngModel)]="info.age" name="alterEgo" >
  </div>

  <button type="button" class="btn btn-default" (click)="enter()">ENTER</button>

于 2016-08-23T12:44:02.177 に答える