AngularJS的另外一种表单验证方式是自动验证,即通过directive来实现,除了AngularJS自带的directive,还需要用到angular-auto-validate这个第三方module。
有关angular-auto-validate:
安装:npm i angular-auto-validate
引用: script>
module依赖:var myApp = angular.module("app", ["jcs-autoValidate"]);
为了实现错误信息本地化,还需要angular-localize这个第三方module:
安装:npm install angular-localize --save
module依赖:var myApp = angular.module("app", ["localize"]);
引用:
script>
此外,当点击提交表单按钮,需要禁用按钮并显示一种等待效果,需要用到angular-ladda这个第三方module:
安装:bower install angular-ladda --save
module依赖:var myApp = angular.module("app", ["angular-ladda"]);
引用:
script>
script>
页面如下:
script>
script>
script>
script>
script>
script>
script>
先看提交按钮:
Register-->
ladda属性值为bool值,true表示显示动态等待效果,false不显示动态等待效果,这里的submitting是scope中的一个属性
data-style="expand-right"表示在按钮的右侧显示动态等待效果
再拿表单中的Age字段来说:
其中,min, max为AgularJS的directive,而ng-min-err-type是angular-auto-validate的directive。这里遵循的惯例是ng-AngularJS表单验证的directive名称-err-type,而tooYoung和tooOld的作用是什么,又是在哪里用上了呢?
是在module层面用上了,定义在了form_validation_auto.js文件中。