jquery.validate实现验证很简单,就是在页面里引用jquery.validate的js库,然后在相关要校验的表单元素上加上required等标记就行了,这是一种默认的情况,它会自动调取validate js库里的方法进行校验。但是要实现自定义的校验,比如复杂的各种正则校验,那就要重写validate的一些方法。如果需要自定义校验规则,则需要在js里这么写。
其中rules:是声明你要校验的元素,对应的是元素的name,messages:是对应的提示,可以定义非空校验required,长度校验maxlength等
还可以自己定义提示的位置信息等,一般如果不自己定义,提示信息默认是调用的defaultShowErrors()方法的,如果要自己定义提示,则如下规定提示的位置
或者
这样定义显示样的样式等。
这里不再多介绍普通的validate校验,下面则重点介绍下如何实现tab页校验各个元素并且根据元素位置自动切换到相关tab页显示的情况。
因为validate只校验当前显示的tab页的表单,不显示的隐藏的其他的不校验。所以首先在自定义校验里把隐藏不校验那个小开关给设置一下
如图,是在属性里定义两个设置,一个是ignore:"hidden",一个是ignore:"",
这样设置后就会把所有tab页里元素都包含了。
然后定义showErrors里根据触发的元素校验进行相关的显示隐藏,等操作,因为我这里html里tab页是用的bootstrap里的,所以要设置tab页表头显示隐藏需要操作它的class样式,给它增加或者去掉active就行
html代码如下
通过显示隐藏tab页相关div层就能实现各个tab页的校验了。
本文内容个别代码引用网上,大部分手敲原创,如有错误,欢迎批评指正。