1. 千均一发之际,你手一哆嗦,加了几行代码就把问题解决了

    
    //内置规则不同于required特性,不能像required(...)这样自定义消息
    //其他内置规则的使用方法和国际化请看源码的config.js文件和complex demo
    SMValidator.setLang({
        number: '请输入数字',
        email: '请输入正确的邮箱格式'
    });
                    

    数字:

    邮件:

  2. 老板走到你跟前表扬一下,年轻人不错嘛,来来来,这还有一个表单,需要服务端校验,服务端返回失败时你才显示失败的样式
    在老板转身离开的时候你有没有想跟上去给他一棒的冲动?但这是你的饭碗,没办法,继续吧少年~~

    
    <input type="text" name="test5">
    <script>
        //async表示这是异步校验,校验结果手动设置
        new SMValidator('form', {
            fields: {
                test5: {
                    required: true,
                    async: '请等待服务端验证'
                }
            }
        });
        //forceFlag 强制给表单设置校验结果,1-通过 2-失败
        //asyncMessage 校验失败的原因
        //还记得教程1的manul吗?用的也是SMValidator.validate()
        //模拟50%的机率校验失败
        SMValidator.validate('[name="test5"]', {forceFlag: 2, asyncMessage: '服务端验证失败'});
    </script>
                    
  3. 后来老板不按规矩操作,什么都不填直接提交表单,居然把空值也提交了,这个当然还是叫你去处理

    
    //设置submit属性可以拦截表单的提交行为,在所有表单检验成功后手动提交
    new SMValidator('form', {
        submit: function(valid, form) {
            if(valid) form.submit();
        }
    });
                    
  4. 到这里你可能会想,校验表单的功能该有的都有了,可以完事了吧。但是老板的需求你是永远捉摸不透的,且看 教程4