zoukankan      html  css  js  c++  java
  • AngularJS 表单验证小结

    注:本文所述的表单验证即AngularJS自带的表单验证,无需引入第三方的插件

    一、常用的验证特性标签

    1.非空

    为input加入一个required属性即可,例如:

     <input type="text" required>

    2.最大长度,最小长度

    为input加上ng-maxlength或者ng-minlength属性,并且属性值为需要设置的长度,例如:

    <input type="text" ng-minlength="5" ng-maxlength="20" />

    3.邮箱

    将input的type设置为email即可,例如:

    <input type="email"/>

    4.数字

    与邮箱同理,将type设置为number<input type="number"/>

    5.URL

    将type设置为url

    6.正则表达式

    使用ng-pattern来指定正则表达式,例如:<input type="text" ng-pattern="/[a-zA-Z]/" />

    还有非常多的特性,等待大家探索......

    二、验证消息的展示

    1.$invalid和$valid

    例:<span ng-show="model.$invalid" class="text-danger">error message.</span>

     表单name.字段名.$invalid 或者  表单name.字段名.$valid 中获得验证是否通过,最终来决定验证消息是否显示,如果是获取表单中所有元素是否通过验证,直接使用 表单name.$invalid 或者 表单name.$valid

    $valid是通过验证时为true,不通过为false,$invalid是没有通过验证时为true,不通过为false.

    2.$error

    $error中会包含比较详细的错误信息,包括错误类型,错误消息,错误的字段等等~

    下面是我抓取的一段整个form表单的$error信息,具体的可以参考一下angular的文档,这里我也没有去深入研究。

    {"required":[{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"bookName","$options":null},{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[null],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"isbn","$options":null},{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"author","$options":null},{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"price","$options":null},{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"pressDate","$options":null},{"$validators":{},"$asyncValidators":{},"$parsers":[],"$formatters":[null],"$viewChangeListeners":[],"$untouched":true,"$touched":false,"$pristine":true,"$dirty":false,"$valid":false,"$invalid":true,"$error":{"required":true},"$name":"description","$options":null}]}

    $error的用法同$valid,需要获取哪个字段的就是 表单name.字段name.$error

  • 相关阅读:
    量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第九章画线】
    量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第八章色彩】
    量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第七章数学函数】
    量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第六章函数】
    量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第五章数组】
    量化投资_EasyLanguage/PowerLanguage教学课程__【第一篇基础】__【第四章跳跃字和保留字】
    常用简体汉字
    mongodb json序列化时间格式
    awk 改名
    ssh 免密码登录linux
  • 原文地址:https://www.cnblogs.com/baiyunchen/p/5482770.html
Copyright © 2011-2022 走看看