#javascript #angularjs #validation #angularjs-validation
#javascript #angularjs #проверка #angularjs-проверка
Вопрос:
Вот некоторый модуль, который я создал. Я не могу понять, почему это не работает.
Вот JS:
angular.module('demo', [
]).controller('MainCtrl', function($scope)
{
$scope.name = "Vlad";
$scope.age = 11;
$scope.sendTest = function()
{
console.log($scope.name.$valid);
console.log($scope.age.$valid);
}
});
Вот html:
<body ng-controller="MainCtrl">
<form name="form" novalidate>
<p>
<label>Number: </label>
<input type="text" min="0" max="10" ng-model="age" required />
</p>
<p>
<label>Name: </label>
<input type="text" ng-model="name" required />
</p>
<button ng-click="sendTest(test)">Submit</button>
</form>
</body>
Проблема в том, что я получаю undefined в консоли (вместо true
, false
).
Ответ №1:
Две вещи.
Вам необходимо получить доступ к полям формы через объект form
console.log($scope.form.name.$valid);
console.log($scope.form.age.$valid);
И чтобы иметь возможность это сделать, вам нужно установить name
атрибут на входных данных
<input type="number" name="age" min="0" max="10" ng-model="age" required />
<input type="text" name="name" ng-model="name" required />
Ну, три вещи. Вам нужно input type="number"
для min
и max
для работы. Смотрите документы
Комментарии:
1. Что, если у меня есть несколько форм? Я попытаюсь обработать это на плунжере.
2. Дайте им разные имена