在angularjs表单验证中显示javascript弹出错误消息

时间:2014-09-04 05:31:20

标签: javascript angularjs cordova ionic-framework

我正在尝试在处理表单输入时显示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");
        }

    })

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,您需要有效的表单输入来执行ng-submit,而不是以编程方式调用register。这意味着user.email不会等于""

其次,看看标准的HTML5验证。它将在表单提交时显示“电子邮件无效”。

第三,可以通过可以访问ngModelController和元素的自定义指令来完成高级验证。这允许使用HTML5 validation API,或通过alert$watch$parsers添加自定义错误处理(例如$formatters)。 AngularJS提供关注分离机制,考虑使用它。