在Angular mat表单中,您可以使用Validators模块来执行表单验证。以下是一个示例,说明如何验证表单中的一些常见字段:
1.在组件中导入Validators模块:
import { Validators } from '@angular/forms';
2.在组件中定义表单变量和表单验证规则:
this.myForm = this.formBuilder.group({ name: ['', [Validators.required]], email: ['', [Validators.required, Validators.email]], password: ['', [Validators.required, Validators.minLength(6)]], confirm_password: ['', Validators.required], address: this.formBuilder.group({ street: ['', Validators.required], city: ['', Validators.required], state: ['', Validators.required], zip: ['', [Validators.required, Validators.pattern('[0-9]{5}')]] }) }, {validator: this.passwordMatchValidator});
注:以上示例中,对于name,email和password字段,它们都需要required验证规则。同时,email字段还需要一个email验证规则,password字段需要一个最小长度为6的验证规则。zip字段还有一个自定义的正则表达式验证规则,以确保其只包含5个数字。
此外,您还可以定义一个自定义的验证规则,以确保密码和确认密码必须匹配。以下是一个示例自定义验证器:
passwordMatchValidator(frm: FormGroup) { return frm.get('password').value === frm.get('confirm_password').value ? null : {'mismatch': true}; }
3.在HTML模板中,使用Angular mat组件来显示表单字段和错误消息: