美文网首页AngularJs
angular form validation 使用

angular form validation 使用

作者: 飞将军 | 来源:发表于2015-01-07 13:37 被阅读360次

    angular只能对form进行校验, 如果你想只对某些input元素进行校验, 可以使用ng-form指令. 以下是我在开发新建用户界面时的代码:

    <div class="row-fluid" ng-repeat="createdUser in createdUsers track by $index" ng-form="userForm">
                <div class="span8"><input type="text" class="input-block-level" name="createdUser"
                                          jq-placeholder="{{'msgCreateUserTip'|translate}}"
                                          ng-model="createdUsers[$index]"
                                          ng-required="true"
                                          ng-pattern="constants.pattern.emailOrMobile"
                                          ng-minlength="3"/></div>
    
                <div class="span4 text-overflow" ng-show="userForm.createdUser.$dirty && userForm.createdUser.$invalid">
                    <i class="fa fa-exclamation red"></i>
                    <span class="label label-important" ng-show="userForm.createdUser.$error.required"> 必填</span>
                    <span class="label label-important" ng-show="userForm.createdUser.$error.pattern"> {{'msgInputValidUser'|translate}}</span>
                </div>
            </div>
    

    最关键的代码在ng-form那部分和ng-pattern中
    还有关于ng-repeat中'track by'的使用, 它可以用来指定每一个元素的区别. 某人是进行对象的'=='比较. 对于字符串的数组, 必须指定为'track by $index'

    如果你在数组中放置的通过id来唯一区别的项, 可以这样写; 'track by id'

    如果你不想在已进入页面就显示错误信息, 而是在用户修改了信息后, 可以这样使用:

    <div class="help-block font-red" ng-show="deptForm.deptName.$dirty">
        <em ng-show="deptForm.deptName.$error.required">部门名称不能为空</em>
    </div>
    

    参考:

    1. Form validation with AngularJS

    相关文章

      网友评论

        本文标题:angular form validation 使用

        本文链接:https://www.haomeiwen.com/subject/phztxttx.html