我不确定disable-validation-message
是否符合我的要求,但我发现它足够接近。
基本上我正在寻找一种方法来防止角度设置由Control
定义的formBuilder
输入设置错误,并使用maxlength
。
<input type="text" ngControl="foo" maxlength="500" />
答案 0 :(得分:1)
<强>更新强>
const DUMMY_MAX_LENGTH_VALIDATOR = CONST_EXPR(
new Provider(NG_VALIDATORS, {useExisting: forwardRef(() => DummyMaxLengthValidatorr), multi: true}));
@Directive({
selector: '[maxlength][ngControl],[maxlength][ngFormControl],[maxlength][ngModel]',
})
export class DummyMaxLengthValidator {
validate(control) {}
}
而不是你的组件添加
@Component({
...
providers: [DUMMY_MAX_LENGTH_VALIDATOR]
})
<强>原始强>
这可能会奏效但最终可能会破裂
<input type="text" ngControl="foo" [attr.maxlength]="'500'" />
maxlength
读取当前constructor(@Attribute('maxlength') ...)
的AFAIK,它只传递静态值。使其具有约束力值可能能够解决。除此之外,验证器也适用于[ngControl][maxlength]
选择器。