31avalon - 指令ms-rules(验证规则绑定)

简介: 31avalon - 指令ms-rules(验证规则绑定)

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的用法


目录
相关文章
16avalon - 指令ms-attr(属性绑定)
16avalon - 指令ms-attr(属性绑定)
74 1
33avalon - 指令ms-validate(验证绑定)
33avalon - 指令ms-validate(验证绑定)
58 0
|
JavaScript
24avalon - 指令ms-for(循环绑定)
24avalon - 指令ms-for(循环绑定)
61 0
14avalon - 指令ms-controller (controller绑定)
14avalon - 指令ms-controller (controller绑定)
62 0
32avalon - 指令ms-rules(自定义验证规则)
32avalon - 指令ms-rules(自定义验证规则)
45 1
|
JavaScript
22avalon - 指令ms-if(if绑定)
22avalon - 指令ms-if(if绑定)
50 0
|
Java 应用服务中间件 Spring
自定义Filter后,我的业务代码怎么被执行了多次?
若要求构建的过滤器针对全局路径有效,且无任何特殊需求(主要针对 Servlet 3.0 的一些异步特性),则完全可直接使用 Filter 接口(或继承 Spring 对 Filter 接口的包装类 OncePerRequestFilter),并使用**@Component** 将其包装为 Spring 中的普通 Bean,也可达到预期需求。
172 0
|
前端开发 JavaScript Java
ES6②
ES6②
104 0
|
PHP
TP5验证规则自定义
TP5验证规则自定义
193 0