我想为我的angular 2项目创建自定义输入类型(即<input type='dob'>
}的自定义验证。我已经在堆栈溢出中看到了Q&amp; A,它有一个解决方案但不幸的是它适用于角度1。有人可以帮我解决这个问题。
提前致谢
答案 0 :(得分:0)
创建验证器类和验证的静态方法。
export class CustomValidator{
static nameValidator(control){
//if valid return true;
//if invalid return {'errorMsg': 'error desc'};
}
}
您可以使用以下验证:
formData = formBuilder.group({ customValidationField : [[CustomValidator.nameValidator]] })
由于
答案 1 :(得分:0)
您可以在角度中使用ReactiveFormModule,它可以为您提供构建自定义表单验证的选项
@NgModule({
imports:[ReactiveFormModule,...]
})
------------------------------------------------
myFormGroup = new FormGroup({
'dateOfBirth': new FormControl(null, [/*here an array of validations*/ this.dateValidation.bind(this)])
})
dateValidation(control: any): {[s: string]: boolean} {
if((<dob>control.value).value == '10/08/2017')
return {'not_old_enough': true}; // if you want to send error
return null;
)
///// and in html
<form [formGroup]='myFormGroup'>
<input
name="dateOfBirth"
type="dob"
formControlName='dataOfBirth' />
</form>