jquery验证框架之remote验证方法的扩展使用

jquery验证框架之remote验证方法的扩展使用

 

jquery.validate.js这个用得很多,确实不错,最近在远程方法使用时,因不满足我的需求,这里做了点扩展,和大家共享。

 

// http://docs.jquery.com/Plugins/Validation/Methods/remote
  remote: function(value, element, param) {
   if ( this.optional(element) )
    return "dependency-mismatch";
   

//  这里是第一次扩展的,本来直接传这个值取值进来可以的,不知道为什么后来取不到值了
   if(param.oldValue&&param.oldValue==value)
    return true;
   

//因为第一次扩展取不到值了,就增加了这个扩展方法。不需要重复使用
   if(param.oldValueID&&param.oldValueID!=''){
    var myoldvalue=$(param.oldValueID).val();
    if(myoldvalue&&myoldvalue==value){
     return true;
    }
   }

 

上面是在jquery.vlidate.js里的remote方法里增加的代码。

 

下面是在实际使用时的示例。

categoryName : {
    required : true,
    specialCharacter : true,
    remote:{
     oldValueID:'#oldcategoryName',  //传对应原值的id就行了。这里生效的是第二次扩展的代码
       url:WEBROOT+"/admin/publishcategory/checkCategoryNameIsCanUsed.do",
       data:{name:function() { return $('#categoryName').val(); }}
       }
   },
   
//-----------

  categoryName : {
    required : true,
    specialCharacter : true,
    remote:{
     oldValue:$('#oldcategoryName').val(),  //取对应原值就行了。这里生效的是第一次扩展的代码
       url:WEBROOT+"/admin/publishcategory/checkCategoryNameIsCanUsed.do",
       data:{name:function() { return $('#categoryName').val(); }}
       }
   },

 

但这个代码有时候不起作用,可能是需要在页面加载时就给这个元素赋值才行的,后面赋值就不行了
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值