angular,你必知的表单验证

借助AngularJS,我们不需要花太多额外的精力就可以轻松实现客户端表单验证功能。虽然 Web应用安全不能完全依赖客户端验证,但客户端验证可以提供表单状态的实时反馈。

要使用表单验证,首先要确保表单有一个name属性。

所有输入字段都可以进行基本的验证,比如最大、最小长度等。这些功能是由新的HTML5 表单属性提供的。

如果想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加novalidate标记。

下面看一下可以在input元素上使用的所有验证选项。

  1. 必填项 验证某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可:

    <input type="text" required />
  2. 最小长度 验证表单输入的文本长度是否大于某个最小值,在输入字段上使用AngularJS指令ng-minleng= "{number}":

    <input type="text" ng-minlength="5" />
  3. 最大长度 验证表单输入的文本长度是否小于或等于某个最大值,在输入字段上使用AngularJS指令 ng-maxlength="{number}":

    <input type="text" ng-maxlength="20" />
  4. 模式匹配 使用ng-pattern="/PATTERN/"来确保输入能够匹配指定的正则表达式:

    <input type="text" ng-pattern="[a-zA-Z]" />
  5. 电子邮件 验证输入内容是否是电子邮件,只要像下面这样将input的类型设置为email即可:

    <input type="email" name="email" ng-model="user.email" />
  6. 数字 验证输入内容是否是数字,将input的类型设置为number:

    <input type="number" name="age" ng-model="user.age" />
  7. URL 验证输入内容是否是URL,将input的类型设置为 url:

    <input type="url" name="homepage" ng-model="user.facebook_url" />
  8. 在表单中控制变量 表单的属性可以在其所属的$scope对象中访问到,而我们又可以访问$scope对象,因此 JavaScript可以间接地访问DOM中的表单属性。借助这些属性,我们可以对表单做出实时(和 AngularJS中其他东西一样)响应。这些属性包括下面这些。

     未修改的表单 formName.inputFieldName.$pristine
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: