热门搜索 :
考研考公
您的当前位置:首页正文

angular form validation 使用

来源:东饰资讯网

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>

参考:

Top