2014-07-03 36 views
-2
<script> 
    $("#form").validate(); 
    $(document).ready(function() 
    { 
     var merror = '';  
     jQuery.validator.addMethod('mvalid', function(value, element) { 
     if($("#mobile").hasClass("required") == true && ($("#mobile").val().substr(0,1) != '7' ||$("#mobile").val().substr(0,1) != '8' || 
     $("#mobile").val().substr(0,1) != '9')) {           
      merror = 'Enter correct Mobile No.'; 
      return false;              
     } 
      return true;   
     }, merror); 
    }); 
</script> 
+0

为什么是$(“#mobile”)。val();在引号中...? –

+0

从var merror ='$(“#mobile”)。val()'; –

+0

如果你已经解释过你所说的“自定义方法”是针对jQuery Validate插件的话,那将会更有帮助。请详细解释一下“不工作”的含义。另外,编辑您的OP以包含相关的HTML标记。 – Sparky

回答

1

你并不需要创建一个自定义的方法简单地显示了required规则自定义消息。只需使用messages选项。

$('#myform').validate({ 
    rules: { 
     mobile: { 
      required: true 
     } 
    }, 
    messages: { 
     mobile: { 
      required: 'Enter Mobile No.' 
     } 
    } 
}); 

DEMO:http://jsfiddle.net/dLq5t/


编辑

否则,如果您需要自定义规则,该消息中的最后一个项目。它会在元素验证失败时显示。

jQuery.validator.addMethod('mvalid', function(value, element, params) { 
    // your custom function 
    // return true to pass validation 
    // return false to fail validation and display error message 
}, 'Enter Mobile No.'); 

查看文档:http://jqueryvalidation.org/jQuery.validator.addMethod/

BTW:你并不需要你的自定义函数中检查是否有一个空场,因为required规则已经采取的照顾。而且您不需要再次检查requiredclass,因为该插件默认已经这样做。

+0

然后使用自定义方法,并将其用作=> customMobileValidatin:true如下所示:true –

+0

@ user3682603,请参阅我的编辑以将自定义消息放置在自定义方法中的位置。 – Sparky

+0

@ Sparky,他希望他的逻辑 –

相关问题