2015-04-28 2 views
1

Я получил эту форму:angular.js форма проверки в контроллере

<form ng-controller="SomeCtrl as some" name="product[[product.id]]" ng-submit="some.addToCart(something, product[[product.id]].$valid)" novalidate></form> 

Тогда HTML выглядит следующим образом:

<form ng-controller="SomeCtrl as some" name="product1" ng-submit="some.addToCart(something, product1.$valid)" novalidate=""></form> 

Контроллер:

this.addToCart = function(something, isValid) { 
    console.log(isValid); 
} 

IsValid всегда undefined. Как определить, действительна ли форма в контроллере?

+0

Нет, в этом примере это отключить кнопку отправки, но я не хочу этого делать, я хочу, чтобы проверить в контроллер $ действительного статуса – dontHaveName

ответ

4

Demo Вы не хотите использовать ng-submit, если хотите выполнить свою собственную проверку в контроллере, поскольку он заблокирует отправку формы, если она недействительна.

Просто используйте обычную кнопку с функцией в ng-click, которая проверяет состояние формы.

Контроллер:

$scope.submit = function() { 
    console.log($scope.myForm.$valid) 
    } 

HTML

<form name="myForm"> 
    <input ng-model="myForm.text" type="text" required /> 
    <button ng-click="submit()">Submit</button> 
</form>