2016-11-22 84 views
0

我有3個可選的文本框:jQuery驗證:3個字段一個錯誤消息

<input id="editArea" maxlength="3" onkeyup="tabout(this,'editPrefix')" name="editArea" class="accountEdit" type="text" value="@Model.Pharmacy.Area"/> 
<input id="editPrefix" maxlength="3" onkeyup="tabout(this,'editSuffix')" name="editPrefix" class="accountEdit" type="text" value="@Model.Pharmacy.Prefix"/> 
<input id="editSuffix" maxlength="4" onkeyup="tabout(this,'editPrefix')" name="editSuffix" class="accountEdit" type="text" value="@Model.Pharmacy.Suffix"/> 

我想驗證它們的和的情況下,恰好10個數字的用戶輸入的任何數據。

驗證規則:

$("#Fields").validate({ 
    errorElement:'div', 
    rules: {          
     editZip:{ 
      required: true, 
      zipregex:/^([^A-Za-z]*)$/, 
     }, 
     editArea: { 
      required:false 
     }, 
     editPrefix: { 
      required:false 
     }, 
     editSuffix: { 
      required:false 
     }, 
     submitHandler: function (form) { 
      return false; 
     } 
    }, 
    messages: {      
     editZip: { 
      required:"Enter the zip code." 
     }     
    } 
}) 

我如何處理這個?

回答

0

以外的驗證插件,你只需添加值長度和檢查它是否是10

使用插件,你可以使用$ .validator.addMethod()。這可能是這樣的:

$.validator.addMethod('sum',function(value,element){ 
    var lengths = 0; 
    var parent = $(element).parent('div'); 
    $(parent).find('input').each(function() { 
     lengths = parseInt($(this).val().length) + lengths; 
    }); 
    if (lengths == params[0]){ 
     return true; 
    } else { 
     return false; 
    } 
}); 

$(".accountEdit").rules('add', {sum: 10}); 

檢查文檔在這裏:https://jqueryvalidation.org/jQuery.validator.addMethod