Angular 4 模板表单校验

1. 创建指令

ng g directive directives/mobileValidator

  

2. html

<form #myForm="ngForm" (ngSubmit)="onSubmit2(myForm.value, myForm.valid)">
  <div>
    <h3>登录</h3>
  </div>
  <div>用户名:<input ngModel required name="username" type="text" (input)="onMobileInput(myForm)"></div>
    <div [hidden]="mobileValid || moblieUntouched">
      <div [hidden]="!myForm.form.hasError('required','username')">
        用户名是必填项
      </div>
    </div>

  <div>电话: <input ngModel mobile name="mobile" type="text"></div>
  <button type="submit">登录</button>
</form>

  

3. 控制器

  mobileValid: boolean = true;
  moblieUntouched: boolean = true;

  onMobileInput(form: NgForm) {
    if (form) {
      this.mobileValid = form.form.get('mobile').valid;
      this.moblieUntouched = form.form.get('mobile').untouched;
    }
  }

  

原文地址:https://www.cnblogs.com/linlf03/p/7346133.html