我们说我有这个自定义验证器,我想知道是否有办法在验证失败时使用我们返回的对象。
@echo off
setlocal enabledelayedexpansion
set count=0
set "string=some substrings with variable lengths separated by space"
for %%a in (%string%) do (
set /a count+=1
set substring[!count!]=%%a
)
set substring[
例如(在主要组件中):
export class PasswordValidator{
private static min:number = 3;
private static max:number = 32;
static setMin(n:number){ PasswordValidator.min = n; }
static setMax(n:number){ PasswordValidator.max = n; }
static validatePw(ctrl:FormControl){
let err:number = 0;
let pw = ctrl.value;
err += pw.length < PasswordValidator.min ? 1 : 0;
err += pw.length > PasswordValidator.max ? 1 : 0;
err += (/([a-z\-]*[A-Z].*[\d][a-z\-]*)|([a-z\-]*[\d].*[A-Z][a-z\-]*)/).test(pw) ? 0 : 1;
return err > 0 ? {validatePw:"it is a valid goHenry password"} : null;
}
}
因为如果我们无法使用它,我就不会看到返回对象的重点。 有什么建议吗?
答案 0 :(得分:1)
您可以从控件的errors
属性中获取它:
errortMsg = this.myform.controls['password'].errors.validatePw