我正在进行角度5表单验证,我的要求是当我点击提交时,验证应该不在ngtouch上工作

时间:2017-12-14 10:52:50

标签: angular angular2-template angular2-forms angular5 angular4-forms

我正在进行角度5表单验证,我的要求是当我点击提交时,验证应该不适用于ng-touch

2 个答案:

答案 0 :(得分:0)

如果你有5+角,那么你可以使用新的updateOn属性:

这样的事情:

this.login = new FormGroup({
   email: new FormControl(),
   password: new FormControl()
}, { updateOn: 'submit' });

Angular 5现在为您提供了对事件进行验证的选项,例如控件模糊或使用此属性提交表单。

阅读here

如果您希望某个特定字段的行为不同(在下面的示例中为:email),您可以执行以下操作:

this.login = new FormGroup({
   email: new FormControl(null, {
      validators: Validators.required,
      updateOn: 'blur'
   }),
   password: new FormControl(null, [Validators.required])
}, {updateOn: 'submit'})

答案 1 :(得分:0)

如果您使用的是Angular2 / 4,那么您可以试试这个

您组件中的

 submitted: boolean = false;
 ngOnInit() {
  this.myForm = new FormGroup({
    name: new FormControl('', [<any>Validators.minLength(5)]),
  });
 }
save(){
  this.submitted =true;
  if(this.myForm.invalid){
   return;
 }
 // Here write your code for processing
}

在您的模板中

 <form [formGroup]="myForm" novalidate (ngSubmit)="save()">
  <label>Name</label>
  <input type="text" formControlName="name">
  <small *ngIf="!myForm.controls.name.valid && submitted">
     Enter minimum 5 characters for name.
  </small>
  <button type="submit">Submit</button>
</form>