2015-02-11 190 views
0

我似乎無法得到jQuery驗證來對付輸入字段被驗證保存的數據-VAL-查找屬性:jQuery驗證自定義錯誤消息

這裏是我使用的添加驗證碼類規則。

$(function() { 
    $.validator.addMethod('lookup', function (value, element, params) { 
     var hiddenId = $(element).attr("id"); 
     var textBoxId = hiddenId + "_LookupText"; 
     return !(($('#' + hiddenId).val() == "") && ($('#' + textBoxId).val() != "")); 
    }); 

    $.validator.addClassRules('lookup', { lookup: true }); 
}); 

以下是我爲我查找輸入字段:

<input class="lookup" data-val="true" data-val-lookup="Campaign must be a valid lookup item" data-val-number="The field Campaign must be a number." id="CampaignId" name="CampaignId" type="text" value="" /> 

<input type="text" id="CampaignId_LookupText" class="form-control" name="CampaignId_LookupText" /> 

驗證工作,但我得到「警告:不爲CAMPAIGNID定義的消息」的消息,而不是。

我可以指定默認消息...但它需要是字段特定的(包含字段名稱)。

如果我添加一個「標題」屬性的字段,它使用這個作爲錯誤消息...但我希望它使用data-val-myvalidation,因爲這似乎是約定。

由於

回答

2

應當data-msg-<rule>

data-msg-lookup="Campaign must be a valid lookup item" 

的CUSTOMMESSAGE方法如下

customDataMessage: function (element, method) { 
    return $(element).data("msg" + method[0].toUpperCase() + method.substring(1).toLowerCase()) || $(element).data("msg"); 
}, 
+0

真棒。這固定它!爲什麼MVC的其餘部分填充驗證使用data-val-validationname? – Beakie 2015-02-11 12:55:04

+0

@Beakie不確定使用的MVC ... – 2015-02-11 12:57:14