Angularjs 角度形式-如果在上一个选择字段中已选择该选项,则选择字段应给出错误
我使用angular formly创建表单。我使用angular formly重复部分在Add按钮上动态添加了选择字段和文本区域 要求-从多个选择字段中,每个选择字段都应选择唯一选项 如何使用angular formly检查上一个选定字段中的选项是否已选定,并显示错误消息,如“货币已选定” Controller.jsAngularjs 角度形式-如果在上一个选择字段中已选择该选项,则选择字段应给出错误,angularjs,angular-formly,Angularjs,Angular Formly,我使用angular formly创建表单。我使用angular formly重复部分在Add按钮上动态添加了选择字段和文本区域 要求-从多个选择字段中,每个选择字段都应选择唯一选项 如何使用angular formly检查上一个选定字段中的选项是否已选定,并显示错误消息,如“货币已选定” Controller.js $scope.formFields = [ { type: 'repeatSection', key: 'details',
$scope.formFields = [ {
type: 'repeatSection',
key: 'details',
templateOptions: {
btnText:'Add ',
fields: [
{
className: 'row',
fieldGroup: [
{
type: 'select',
key: 'currency',
wrapper: 'loading',
templateOptions: {
label: $translate.instant('CURRENCY'),
valueProp: "value",
labelProp: "name",
options: [
{name: "Rupee", value: "INR"},
{name: "Doller", value: "$"},
{name: "Pound", value: "Pound"}
] ,
required: true,
placeholder: $translate.instant('SELECT TYPE FROM LIST'),
}
},
{
type: 'textarea',
key: 'debitNote',
templateOptions:
{
label: $translate.instant('DEBIT NOTE'),
rows: 4
}
}
]
}
]
}
}
];
选项1:自定义验证器
制作一个自定义验证器,如:
vm.customValidator = {
expression: function(viewValue, modelValue, scope) {
if(scope.model.currencies){
angular.forEach(scope.model.currencies, function(val, key) {
if(val === modelValue) {
console.log('Currency already selected! '+val+' === '+modelValue);
return false;
}
});
}
return true;
},
message: 'Currency already selected'
};
例如:
*注意。由于我很忙,因此未显示验证消息。请参阅以下连结: