在角度模型中,表单I可以在字段中显示遮罩,并在模板中保存没有遮罩的值。我如何使用反应形式?
maskService.getCNPJ = [/\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, '-', /\d/, /\d/]
maskService.unmask = (value) => value.replace(/\D+/g, '')
模型表格
<input type="tel" class="form-control" [(ngModel)]="data.cnpj" name="cnpj" [textMask]="{mask: maskService.getCNPJ, guide: false}" (ngModelChange)="data.cnpj = maskService.unmask($event)">
答案 0 :(得分:0)
Angular提供了一种模式Validator:
this.myForm = this.formBuilder.group({
phone: ['', Validators.pattern(/* your regex */)]
});
如果你想提供一个面具,你仍然可以使用自定义功能:
<input formControlName="phone" (input)="mask()">
在你的TS中:
mask() {
// Do your masking thing
this.myForm.get('phone').setValue('your mask value');
}