为了账号安全,请及时绑定邮箱和手机立即绑定

Angular JS 表单验证 之 提示信息的显示与隐藏

标签:
AngularJS

子标题:

Angular JS 表单验证 之 提示信息的显示与隐藏 的两种方式。文章标题不能少于10个汉字~囧

好了,直奔主题。先上Demo,详情戳这里,放在 Runjs.cn上面。Plunker 要好用很多,只是被墙,这也被墙,想不明白。


  • 本身这个示例就很明了了。第一个 class 为 form-group 的 div,使用的是 ng-show 来控制 提示信息的显示与隐藏,我这里假设你已经明白了 AngularJS 的基本语法。再者就是很多文章对这个指令大写特写了,我也就没有必要再去详细写了。

    Bootstrap includes validation styles for error, warning, and success states on form controls. To use, add .has-warning, .has-error, or .has-success to the parent element. Any .control-label, .form-control, and .help-block within that element will receive the validation styles.

ngClass支持对象表达式,所以 ng-class="{'has-success': signupForm.username.$valid, 'has-error':signupForm.username.$invalid && signupForm.username.$dirty}" 这样就轻松实现了 BootStrap 里面 has-success 样式 和 has-error 样式的转换。

  • 第二个 class 为 form-group 的 div, 使用的是 ngMessages 这个指令。链接指向AngularJS 官方文档,翻不了墙的童鞋就不要点了('')
    这个指令的用法初次是在 AngularJS权威教程 这本书里面看到的示例,然后自己google了一下(画外音:明明是百度好么!(╯▔皿▔)╯)
    <div class="help-block" ng-messages="signupForm.password.$dirty && signupForm.password.$error">
    <div ng-message="required">魂淡!密码不能为空!</div>
    <div ng-message="minlength">魂淡!密码不能少于6个字符</div>
    <div ng-message="maxlength">魂淡~密码需要那么长么~!</div>
    </div>

    ngMessages 这个指令需要引入文件名为 angular-messages 的JS文件,并且需要注入到我们的ngApp模块中。 可以使用 如上所示 的 Attribute 写法,当然也支持 Element 的写法 //即 <ng-messages></ng-messages>

    ngMessages is a directive that is designed to show and hide messages based on the state of a key/value object that it listens on. The directive itself complements error message reporting with the ngModel $error object (which stores a key/value state of validation errors).

这是摘自AngularJS ngMessages指令官方原文档的一句话,意即 ngMessages 这个指令是用来控制所监听的对象的(我们所设定的)提示信息的展示与隐藏。
我比较推崇ngMessages这个指令来控制错误信息,显而易见的好处就是代码的可读性更高,也更为简洁。

点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消