2014-07-03 35 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,他希望他的邏輯 –

相關問題