首页 > 代码库 > 怎样更灵活的是使用jquery.validate--未完待续

怎样更灵活的是使用jquery.validate--未完待续

jqueryValidate的具体使用方法很多,这里就不在赘述,这一次只谈一下怎样简单的实现表单验证。

页面引入js

 <script src="~/js/jquery-migrate-1.8.1.min.js"></script>
 <script src="~/Scripts/jquery.validate.js"></script>
 <script src="~/Scripts/jquery.metadata.js"></script>//封装了对validate更简洁的调用

简单验证方式

 <input id="ssp" class="required" />

引用metadata之后就可以所有直接标签定义验证内容和错误消息

  <input class="{validate:{ required :true},messages:{ required:‘请输入名称‘ }}" id="ssp" />

但这样会影响到表单正常的样式设置,所以可以通过metadata来修改。这样就支持在data-validation属性中使用json格式定义

1.修改metadata中属性初始化

 metadata : {
    defaults : {
        type: ‘attr‘,
      name: ‘data-validation‘,//修改原属性class为data-validation
      cre: /({.*})/,
      single: ‘metadata‘
    },
    setType: function( type, name ){
      this.defaults.type = type;
      this.defaults.name = name;
    }
}

 

2.修改了这个后发现还是不能用,最后还要修改validate.js中的class定义

classRules: function(element) {
        var rules = {};
        var classes = $(element).attr(‘data-validation‘);//修改class为要定义的属性
        if ( classes ) {
            $.each(classes.split(‘ ‘), function() {
                if (this in $.validator.classRuleSettings) {
                    $.extend(rules, $.validator.classRuleSettings[this]);
                }
            });
        }
        return rules;
    },

有些文档中讲到在文件尾部通过setType来设置,就可以实现,单在我这里并没有得到成功的结果。

$.metadata.setType("attr", "data-validation");

 

怎样更灵活的是使用jquery.validate--未完待续