Angular2文本掩码加载项(用于出生日期的createAutoCorrectedDatePipe)

Angular2文本掩码加载项(用于出生日期的createAutoCorrectedDatePipe),angular,angular2-forms,angular2-directives,Angular,Angular2 Forms,Angular2 Directives,我使用了文本掩码和文本掩码插件,我使用它来表示出生日期。当我们输入时,它不检查有效日期,并且它也接受未来的日期。。谁能帮我一下吗。。 我的ts文件 import createAutoCorrectedDatePipe from 'text-mask-addons/dist/createAutoCorrectedDatePipe'; export class HomeComponent { autoCorrectedDatePipe: any = createAutoCorrectedD

我使用了文本掩码和文本掩码插件,我使用它来表示出生日期。当我们输入时,它不检查有效日期,并且它也接受未来的日期。。谁能帮我一下吗。。 我的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">


掩码仅用于写入掩码值。为了测试值是否有效,您应该使用验证器:

掩码仅用于写入掩码值。为了测试值是否有效,您应该使用验证器:

您可以通过反应式表单验证来完成

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;
在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>
在你在验证中调用的函数中

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;

}

您可以通过反应式表单验证来完成

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;
在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>
在你在验证中调用的函数中

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;
}