我使用了文字掩码和文字掩码插件,我用它作为出生日期我们进入时没有检查有效日期,它也接受未来的日期..请任何人帮助我... 我的ts文件,
import createAutoCorrectedDatePipe from 'text-mask-addons/dist/createAutoCorrectedDatePipe';
export class HomeComponent {
autoCorrectedDatePipe: any = createAutoCorrectedDatePipe('mm/dd/yyyy');
mask: any = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
}
我的模板,
<input [maxlength]="20" [textMask]="{mask: mask, keepCharPositions: true, pipe: autoCorrectedDatePipe}" [(ngModel)]="myModel" type="text" [formControl]="form.controls['dob']" name="dob" class="form-control">
答案 0 :(得分:1)
蒙版仅用于编写蒙版值。要测试值是否有效,您应该使用验证器:https://angular.io/guide/form-validation
答案 1 :(得分:1)
您可以通过反应式表单验证来实现
在ts文件中:
this.ocapForm = this.formBuilder.group({
dob: ['', Validators.required]
});
以html
<div class="col-md-6 text-left pl-0">
<input type="text" formControlName="dob" class="form__input--text">
</div>
您也可以编写自己的验证
以ts
withdrawalDate: ['', validateDate]
您在验证中调用的功能
public validateDate(control: FormControl){
const dob = control.value; // to geth the value of name
const requiredValidation = Validators.required(control); // you can do inbuild validation here aswell
if (!!requiredValidation) { // to check validation
return requiredValidation; // return the error as you needed
} else if (dob) { // making your custom check here
return { dobError: true };
}
return null;
}