2016-11-22 64 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