【发布时间】:2015-11-06 09:20:18
【问题描述】:
我正在尝试验证以下表单:
<div ng-controller="LoginController">
<form name="form" class="ng-pristine ng-valid" accept-charset="UTF-8" action="/sessions/login?locale=" method="post" novalidate>
{{ errorUsername }}
<input id="username" name="username" type="text" placeholder="EMAIL ADDRESS" ng-model="username" required>
{{ errorPassword }}
<input id="password" name="password" type="password" placeholder="PASSWORD" ng-model="password" required>
<p><input name="commit" value="LOGIN" ng-click="submitForm()" type="submit"></p>
</form>
</div>
在 LoginController 上使用以下方法:
$scope.submitForm = function() {
var is_valid = true;
if ( username.innerHTML == "" ) {
$scope.errorUsername = "Email required";
is_valid = false;
};
if ( password.innerHTML == "" ) {
$scope.errorPassword = "Password required";
is_valid = false;
};
if (! is_valid ) { $scope.form.submitted = true }
};
表单提交进入方法,一秒钟你可以看到错误信息被显示出来。但表格仍然提交。
我应该补充一点,该表单已链接到 Rails 控制器。但这无关紧要,因为我的意图是永远不会在表单出现错误时调用 rail 的控制器操作。
提前致谢。
【问题讨论】:
标签: javascript ruby-on-rails angularjs forms