Angular2 中禁用验证消息的替换
Replacement for disable-validation-message in Angular2
我不确定 disable-validation-message
是否符合我的要求,但我发现它足够接近了。
基本上我正在寻找一种方法来防止 angular 在 formBuilder
定义的 Control
输入上设置错误并使用 maxlength
。
<input type="text" ngControl="foo" maxlength="500" />
更新
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'" />
AFAIK 当前 maxlength
由 constructor(@Attribute('maxlength') ...)
读取,它只传递静态值。将其设置为绑定值可能可以解决。除此之外,验证器应用于 [ngControl][maxlength]
选择器。
我不确定 disable-validation-message
是否符合我的要求,但我发现它足够接近了。
基本上我正在寻找一种方法来防止 angular 在 formBuilder
定义的 Control
输入上设置错误并使用 maxlength
。
<input type="text" ngControl="foo" maxlength="500" />
更新
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'" />
AFAIK 当前 maxlength
由 constructor(@Attribute('maxlength') ...)
读取,它只传递静态值。将其设置为绑定值可能可以解决。除此之外,验证器应用于 [ngControl][maxlength]
选择器。