我试图验证出生日期角2+反应形式。当选定的道布日期超过100岁时,我想显示错误消息。
前端
<div [ngClass]="setClassDOB()">
<input class="form-control" type="date"name="dob"formControlName="dob" placeholder="DOB">
</div>发布于 2018-01-23 05:17:11
把这个放进你的打字本
validateDOB(e){
let year = new Date(e).getFullYear();
let today = new Date().getFullYear();
if(today - year >= 100){
//Code Something
}
}在html中更新这个
<input class="form-control" (change)="validateDOB(dob)" type="date" name="dob" formControlName="dob" placeholder="DOB">(这可能对你有帮助:)
发布于 2020-01-10 12:12:21
您必须创建一个自定义表单验证器来实现此目的。
const youngerThanValidator = (maxAge: number): ValidatorFn => control =>
(new Date()).getFullYear() - (new Date(control.value)).getFullYear() > maxAge
? { younger: { maxAge } }
: null;form = new FormGroup({
dob: new FormControl(null, youngerThanValidator(100))
});<form [formGroup]="form">
<input type="date" formControlName="dob">
<span *ngIf="form.get('dob').touched && form.get('dob').getError('younger') as error">
Too old : {{ error.maxAge }}
</span>
</form>https://stackoverflow.com/questions/48394438
复制相似问题