我使用“角度2”中的“反应形式”开发了一种形式。在这里,我的表单由五个可选字段组成,每个字段都可以采用逗号分隔的值。在这里,我将控制允许使用逗号分隔值的任何两个字段,而其余字段可以采用单个值。如果用户尝试将逗号分隔的值提供给两个以上的字段,则应发送弹出错误消息。
我已经编写了“自定义验证器”来处理逗号分隔的值,但是我不清楚只有两个字段具有逗号分隔的字段。如果您有任何想法,请帮助我。
这是我的自定义验证器方法。
//Custom validator for Unitorder,Orderreference number,Schedule Entry,SAP
order number and CPS ID
static commaSeparatedFields(min: number, max: number): ValidatorFn {
return (c: AbstractControl): { [key: string]: boolean } | null => {
var reg=/[^A-Za-z0-9]+/;
if(c && (c.value !== '')){
const str=c.value;
const valArr=str.split(',');
let OUNArray=[],OCCArray=[];
for(let val in valArr){
if ( valArr[val].length<min || valArr[val].length>max ||
valArr[val].match(reg) ){
console.log('Invalid');
return {
'commaSeparatedFields' : true
};
}else{
console.log('valid');
}
}
}
return null;
};
}