avalon内置验证规则
验证规则用法
这些验证规则要求使用ms-rules指令表示,要求为一个普通的JS对象。
此外要求验征框架能动起来,还必须在所有表单元素外包一个form元素,在form元素上加ms-validate指令。
var vm = avalon.define({ $id: "validate1", aaa: "", bbb: '', ccc: '', validate: { onError: function (reasons) { reasons.forEach(function (reason) { console.log(reason.getMessage()) }) }, onValidateAll: function (reasons) { if (reasons.length) { console.log('有表单没有通过') } else { console.log('全部通过') } } } })
<div ms-controller="validate1"> <form ms-validate="@validate"> <p><input ms-duplex="@aaa" placeholder="username" ms-rules='{required:true,chs:true}' >{{@aaa}}</p> <p><input type="password" id="pw" placeholder="password" ms-rules='{required:true}' ms-duplex="@bbb" /></p> <p><input type="password" ms-rules="{required:true,equalto:'pw'}" placeholder="再填一次" ms-duplex="@ccc | change" /></p> <p><input type="submit" value="submit"/></p> </form> </div>
因此,要运行起avalon2的内置验证框架,必须同时使用三个指令。ms-validate用于定义各种回调与全局的配置项(如什么时候进行验证)。ms-duplex用于将单个表单元素及相关信息组成一个Field对象,放到ms-validater指令的fields数组中。
ms-validate的用法