Jet*_*tte 3 angular-validation angular angular-forms
我已经为此战斗了两天。我只是不知道怎么了。看来我的自定义验证程序未执行。
如果您仅按下“下一步”按钮,则每个控件均以红色边框突出显示。如果填写表单,请在电子邮件字段中键入不同的值,然后按“下一步”,该表单是有效的,并且自定义电子邮件验证程序中看不到任何console.log。
(如果要执行passwordValidator,则需要在验证器函数示例password1中添加“()” :new FormControl(“”,[Validators.required,this.passwordValidator()]),即使由于FormGroup您会抛出错误在内部使用将不会引用formData password1和password2)
如果要比较两个输入字段,则需要在formGroup内使用formGroup,因为如果不对formGroup使用表单组,则不会保存这样的对象。
value: Object
email1: "data"
email2: ""
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
https://angular.io/guide/form-validation#custom-validators使用此Ref来实现ComparePassword和电子邮件
/** A hero's name can't match the given regular expression */
export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn {
return (control: AbstractControl): {[key: string]: any} | null => {
const forbidden = nameRe.test(control.value);
return forbidden ? {'forbiddenName': {value: control.value}} : null;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2212 次 |
| 最近记录: |