2016-06-27 8 views
0

Я пытаюсь проверить angularjs форму от контроллера, как это показано ниже:Угловая форма проверки не работает внутри контроллера

Моя форма:

<form name="appGroupForm" class="form-horizontal"> 
    <input id="unique-name" ng-model="appGroup.name" name="name" type="text" 
     placeholder="New App Group" class="form-control input-md" 
     ng-trim="false" ng-pattern="/[^\s]+/" 
     ng-change="uniqueAppGroupName()" 
     required /> 
</form> 

Контроллер:

$scope.uniqueAppGroupName = function() { 
    $scope.appGroupForm.name.$setValidity('unique', true); 
}; 

Но это порождает ошибку как:

TypeError: Cannot read property '$setValidity' of undefined

Также попытался с:

$scope.appGroupForm.name.$setValidity.unique = !error; 

но до сих пор не увенчались успехом, любые идеи & предложения по этой причине?

+0

показать нам вашу форму HTML – adolfosrs

+0

Это сообщение означает, что '$ scope.form.formname' не определено. – leetibbett

+0

'forrmname' - ваше имя? –

ответ

0

попробовать $scope.appGroupForm.unique-name.$setValidity('unique-name', true); EDIT: $scope.appGroupForm[name].$setValidity('unique-name', true);

+0

Ошибка: 'TypeError: name. $ setValidity не является функцией'. Я не думаю, что мы можем работать с id и переменными, создаваемыми с помощью eiphens, а также – Mithun

+0

@ Ханси Хмм попробуйте эту '$ scope.appGroupForm [name]. $ SetValidity ('unique-name', true);' – mhd

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