我正在尝试在处理表单输入时显示javascript弹出错误消息。但是我无法正确计算它。这是我的html文件
<form name="form" ng-app ng-submit="register(user)">
<div class="controls">
<input type="email" name="email" ng-model="user.email" required />
<span class="help-inline" ng-show="submitted && form.email.$error.required">Required</span>
<span class="help-inline" ng-show="submitted && form.email.$error.email">Invalid email</span>
</div>
<div class="controls">
<input type="text" name="name" ng-model="user.name" required />
<span class="help-inline" ng-show="submitted && form.name.$error.required">Required</span>
<span class="help-inline" ng-show="submitted && form.name.$error.email">Invalid email</span>
</div>
</form>
在我的控制器中,我想填充javascript弹出错误消息。这是我的控制器
angular.module('starter.controllers',[])
.controller('DashCtrl', function($scope) {
$scope.register=function(user){
//this will work
alert(user.email)
//this wont work
if(user.email=="")
alert("Email required");
}
})
提前致谢。
答案 0 :(得分:1)
首先,您需要有效的表单输入来执行ng-submit
,而不是以编程方式调用register
。这意味着user.email
不会等于""
。
其次,看看标准的HTML5验证。它将在表单提交时显示“电子邮件无效”。
第三,可以通过可以访问ngModelController和元素的自定义指令来完成高级验证。这允许使用HTML5 validation API,或通过alert
或$watch
和$parsers
添加自定义错误处理(例如$formatters
)。 AngularJS提供关注分离机制,考虑使用它。