我想为pattern
类型的文本创建<input>
验证的可绑定版本。这是代码:
const CUSTOM_PATTERN_VALIDATOR = const Provider(NG_VALIDATORS, useExisting: CustomPatternValidator, multi: true);
@Directive(
selector:
"[pattern][ngControl],[pattern][ngFormControl],[pattern][ngModel]",
providers: const [CUSTOM_PATTERN_VALIDATOR])
class CustomPatternValidator implements Validator {
ValidatorFn _validator;
Map<String, dynamic> validate(AbstractControl c) {
return this._validator(c);
}
@Input()
set pattern(String value) {
this._validator = Validators.pattern(value);
}
}
但是此验证器不会禁用默认值,因此值首先使用null
模式进行验证,并且控制始终无效。有什么方法可以纠正吗?