针对项目实践表单验证总结:
angular 的 form表单验证:form内需要novalidate取消默认验证,用ng自己的验证,form的名字是非常必要的
栗子:以注册为栗子,下面是注册的部分:
<form ng-submit='register' name='registerForm' novalidate> <!-- 用户名 --> <div class="form-group" ng-class='{"error":registerForm.nickname.$invalid && submitted}'> <label>用户名</label> <input type="text" name="nickname" ng-model='nickname' required> <div class="err-con"><span ng-show='registerForm.nickname.$error.required && submitted'>请你输入用户名</span> </div> </div> <!-- 密码 --> <div class="form-group" ng-class='{"error":registerForm.password.$invalid && submitted}'> <label>密码</label> <input type="text" name="password" ng-minlength='6' ng-model='password' required> <div class="err-con"><span ng-show='registerForm.password.$invalid && submitted'>输入正确的密码</span> </div> </div> <!-- 确认密码 --> <div class="form-group" ng-class='{“error”:registerForm.confirmPassword.$invalid && submitted}'> <label>密码</label> <input type="text" name="confirmPassword" ng-minlength='6' ng-model='confirmPassword' required> <div class="err-con"><span ng-show='password != confirmPassword && submitted'>输入密码不一致</span></div> </div> </form>
对上面简单解释下:
1、ng-class是为了在错误验证时为input加一个提示红色的边框。
2、submitted传true或false与验证共同控制是否错误提示显示。
3、registerForm.password.$invalid 验证是否符合规则,registerForm.nickname.$error.required判断是否存在
4、formName.inputName.$invalid 或 formName.inputName.$error
5、在验证码再次点击加一个ng-disabled, 手机正则加ng-pattern
6、ng-show判断里面是否符合规则显示错误提醒,比jquery验证可方便多啦
推荐链接:http://www.cnblogs.com/rohelm/p/4033513.html