我在Angular 2项目中使用this plugin来掩盖一些输入。
我遇到的问题是验证输入是否应用了正确的掩码。
每当我尝试检查值时,它都是valid
。例如,我有一个掩码来填充电话号码,就像在示例中一样:
@Component({
template: `
<input [textMask]="{mask: mask}" type="tel" formControlName="phone" />
`
})
export class AppComponent {
public myModel = ''
public mask = ['(', /[1-9]/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]
}
但即使我填写,也就是说,2个数字(11_) ___-____
正在将该字段视为valid
。
我尝试使用自定义验证程序检查输入长度,但它也正在传递,因为它预先填充了_
。
this.registerForm = this._fb.group({
'phone': [null, Validators.compose([
Validators.required,
Validators.minLength(14),
Validators.maxLength(14)
])],
});
我不知道如何为这种类型的场景创建验证,包含更复杂的验证。
答案 0 :(得分:0)
只需从@ developer033注册正确答案即可。对我来说,它就像是一种魅力。
以下应能按预期工作: Validators.pattern(/ ^([1-9] \ d {2})\ s \ d {3}-\ d {4} $ /);
尽管我使用了适合自己需求的模式。