2015-12-14 2 views
1

Я использую угловую форму для создания формы. Я добавил динамически добавленную область поля и текста на кнопке Добавить с использованием углового формально повторяющегося раздела.Угловая форма - поле выбора должно давать ошибку, если опция уже выбрана в предыдущем поле выбора

Требование. Из поля множественного выбора каждое поле выбора должно иметь уникальную опцию.

Как проверить, если опция выбрана или нет в предыдущем выбранном поле с помощью углового и показать мерно сообщение об ошибке, как «валюта уже выбрана»

Controller.js

$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

Вариант 1: валидатор

Craft пользовательские валидатор, как:

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' 
}; 

Пример: http://jsbin.com/nopike/1/edit?html,js,console,output

* Примечание. Валидационные сообщения не отображаются, так как я спешу. Пожалуйста, обратитесь к следующим ссылкам:

Вариант 2: множественный выбор

Использование множественный выбор:

+0

Спасибо benoror !!! Этот ответ действительно помогает мне решить проблему. – Abhijeet

Смежные вопросы