2015-03-19 28 views
1

我需要在远程方法中添加if条件,因此对于没有$('#emailUrl')。val()的表单,将落入else条件如何编写if和else在jquery远程验证

rules : {   

    lastName : { 
     required : true, 
     namevalidation : true 
    }, 
    // Remote is the jquery function to check unique character using URL 
    primaryEmailId : { 
     required : true, 
     email : true, 
     remote : { 
      // If Condition required here. Please suggest me 
      url : $('#emailUrl').val(), 
      data: { 
       primaryEmailId: function() { 
        return $("#primaryEmailId").val(); 
       }, 
      } 
     }, 
    } 
} 

回答

3

你需要做的是在远程规则中使用dependsparam。它们在documentation中有所描述,但不清楚它是否适用于远程(它确实!)。

所以把你的例子,你会返工它看起来像这样:

primaryEmailId : { 
    required : true, 
    email : true, 
    remote : { 
     //if this returns true, remote will be triggered 
     depends: function(){ 
     return $('#emailUrl').val() != ''; 
     }, 
     //using these parameters 
     param: { 
     url : 'your validation url.php', 
     data: { 
      primaryEmailId: function() { 
       return $("#primaryEmailId").val(); 
      }, 
     } 
     } 
    }, 
} 

我不上就是为什么你要拨打不同的URL取决于用户明确的唯一的一部分?希望重要的部分更多关于如何调用远程或不:)

Working example(请注意,jsfiddle有点怪异的AJAX调用,所以我有点复杂)。

0

你不能在条件上的URL,你需要定义的功能,然后需要把条件。我不确定如果您传递空白URL进行远程验证会发生什么情况。请检查以下解决方案。

lastName : { 
        required : true, 
        namevalidation : true 
       }, 
       // Remote is the jquery function to check unique character using URL 
       primaryEmailId : { 
        required : true, 
        email : true, 
        remote : { 
         // If Condition required here. Please suggest me 
         url : function(){ 
         if (typeof ($('#emailUrl').val()) != 'undefined') 
          { 
           return $('#emailUrl').val(); 
          } else { 
           return ''; 
          } 

         }, 
         data: { 
          primaryEmailId: function() { 
              return $("#primaryEmailId").val(); 
             }, 
            } 
          }, 
       }, 
+0

你试过吗?我不相信'.post'的'url'字段接受一个函数,而是将它视为一个字符串。 – Ryley 2015-03-19 19:44:21

+0

它不起作用 – HarshaKP 2015-03-20 07:54:42

+0

如果条件在JQUERY验证中,是否可以写入规则仅对特定字段进行验证。请建议我 – HarshaKP 2015-03-20 07:55:58