2017-01-06 3 views
0

У меня есть два набора одинаковых полей ввода. Входное значение должно быть уникальным. Поэтому я должен показать сообщение об ошибке, если пользователь повторяет другие входные переменные. Пример. Скажем, если пользователь ввел значение «Hopes School» в группе «Вариант 1» «Имя начальной школы 1», мы должны показать сообщение об ошибке, если пользователь попытается ввести значение «Hopes school» в других полях ввода. Поэтому ища помощь в том, как мы можем справиться с этим в угловом, поскольку я новичок в угловой. Ценю вашу помощь.Angularjs - Как сравнить более двух входных значений в форме проверки

FYI - Логика должна применяться только к школьным полям ввода. Значения входных данных могут быть дублированы.

Plunker ссылка: http://plnkr.co/edit/2sZZiFOLKUS8ewqlbck9?p=preview

<body ng-controller="empCtrl"> 
<div ng-repeat="school in areas.school"> 
    <div class="form-group"> 
    <label for="areas"></label> 
    <select name="area{{school.id}}" ng-model="areas.school[$index].type" ng-init="areas.school[$index].type = 'area1'"> 
     <option value="area1" selected="selected">Area 1</option> 
     <option value="area2">Area 2</option> 
    </select> 
    </div> 
    <div ng-show="areas.school[$index].type == 'area1'"> 
    <div class="form-group"> 
     <label for="elementary">Elementary school name {{school.id}}</label> 
     <input type="text" name="elementary{{school.id}}" placeholder="elementary school name" ng-model="areas.school[$index].elementary"/> 
      </div> 
      <div class="form-group"> 
       <label for="title">Middle school name {{school.id}}</label> 
       <input type="text" name="middle{{school.id}}" placeholder="middle school name" ng-model="areas.school[$index].middle" /> 
      </div> 
      <div class="form-group"> 
       <label for="Notes">Notes</label> 
       <input type="text" name="notes{{school.id}}" placeholder="Notes" ng-model="areas.school[$index].notes" /> 
      </div> 
     </div> 
     <div ng-show="areas.school[$index].type == 'area2'"> 
    <div class="form-group"> 
     <label for="elementary">Elementary school name {{school.id}}</label> 
     <input type="text" name="elementary{{school.id}}" placeholder="elementary school name" ng-model="areas.school[$index].elementary"/> 
      </div> 
      <div class="form-group"> 
       <label for="title">Middle school name {{school.id}}</label> 
       <input type="text" name="middle{{school.id}}" placeholder="middle school name" ng-model="areas.school[$index].middle" /> 
      </div> 
     </div> 
     <br/> 
    </div> 
</body> 

Угловая код (это не логика проверки): опция

// Code goes here 
var employeeApp = angular.module("EmployeeApp",[]); 
employeeApp.controller("empCtrl",function($scope){ 
$scope.areas = { 

}; 
$scope.areas.school = [ 
     { 
      'id': 1, 
      'type': '' 
     }, 
     { 
      'id': 2, 
      'type': '' 
     } 
    ]; 
}); 

ответ

1

Pass модального значения одного поля ввода в нг-шаблон другого ввода.

<input type='text' name='input1' ng-model = 'model1'/> 
<input type='text' name='input2' ng-model = 'model2' ng-pattern='model1'/> 

{{input2.$error.pattern}} 
+0

Это работает! Спасибо! – Nikki

1

Первое использование Angularjs Модель

Раздел 1:

<input type="text" nd-model="school1" ng-required="school1==school2"/> 

Раздел 2:

<input type="text" ng-mode="school2" ng-required="school1==school2"/> 

Предупреждения:

<span ng-if="school!=school"> School Names Should be Same in 2 Sections</span>