资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

JqueryValidate根据其他元素的事件来触发单个元素的异步校验-创新互联

场景:在做一个车辆信息管理模块,而车牌是通过车牌颜色和车牌号码来确定唯一性的,录入车牌信息时需对车牌进行唯一性校验。

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都企业网站定制,高端网页制作,对岗亭等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业网站推广优化,H5建站,响应式网站。

对车牌号的异步校验规则

 1 rules:{
 2             plateNumber:{
 3                 remote:{
 4                     url:'${ctx}/bu/vehicleInfo/checkPlateNumUniqueness',
 5                     data:{
 6                         plateNumber:function(){
 7   return $("#plateNumber").val();
 8                         },
 9                         plateColor:function(){
10   return $("#plateColor").val();
11                         }
12                     }
13                 }
14             }
15         },
16         messages:{
17             plateNumber:{
18                 remote:'已存在相同车牌号码'
19             }
20         }

车牌颜色变动的时候通过触发车牌号码的校验规则来对唯一性进行校验

$("#plateColor").change(function() {
//由于是根据车牌号码和车牌颜色来判断车牌号唯一性的,故车牌颜色改变时也应该校验车牌号唯一性    $("#plateNumber").removeData('previousValue');
var plateNum = $("#plateNumber").val();
if (plateNum != '') {
        $("#plateNumber").removeData('previousValue');
        validator.element($("#plateNumber"));
    }
});

这里遇到了一个问题,就是车牌颜色变动过一次触发了唯一性校验之后,再去变动车牌颜色就无法再次触发唯一性校验了,

后来在这里找到了答案(http://stackoverflow.com/questions/2710548/how-do-i-use-jquery-validate-remote-validation-on-a-field-that-depends-on-anothe)

原因是触发了一次之后会有缓存,需要调用这removeData方法先把缓存清理掉才能再次触发。


文章题目:JqueryValidate根据其他元素的事件来触发单个元素的异步校验-创新互联
本文路径:http://cdkjz.cn/article/ejgsi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220