角度2+反应形式验证 - 这个或那
问题描述:
我有一个3字段的形式 - 名字,姓氏,身份证号码 - 我想要设置,以便用户必须输入数据到两个名称字段或输入表格的ID号码以使其有效并“可提交”。角度2+反应形式验证 - 这个或那
我的代码是
ngOnInit() {
this.person = this.fb.group({
'fname': [],
'lname': [],
'certID': []
},{
validator:(formgroup:FormGroup)=>{
return this.validateInput(formgroup);
}
}
);
}
validateInput(formgroup:FormGroup){
if(formgroup.controls["fname"].value && formgroup.controls["lname"].value || formgroup.controls["certID"].value){
console.log('OK');
return {validateInputData:true};
}
else {
console.log('Not OK');
return null;
}
}
虽然这验证当表单/页面加载运行,并生成一个“失败”(“不正常”),提交按钮是仍然活跃:
<button type="submit" class="btn btn-success"
[disabled]="submitPending || person.invalid">
Submit<span *ngIf="submitPending" class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span>
</button>
我哪里错了?
答
您的退货声明是否向后?
返回null
当一切正常时,错误,当它不正确。
if((formgroup.controls["fname"].value && formgroup.controls["lname"].value)
|| formgroup.controls["certID"].value){
console.log('OK');
return null;
}
else {
console.log('Not OK');
return {validateInputData: true};
}
'validateInputData'属性将成为错误集合中错误的名称。