2015-02-11 191 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