Как переопределить сообщение об ошибке по умолчанию в ненавязчивой проверке ?.MVC JQuery ненавязчивая проверка
Я попытался использовать $ .validator.unobtrusive.messages.dobvalidation для сброса сообщения об ошибке для этого типа проверки, но без каких-либо успехов.
//DOB Validation
jQuery.validator.unobtrusive.adapters.add("dobvalidation", function (options) {
options.rules["dobvalidation"] = "true";
options.messages["dobvalidation"] = options.message;
});
jQuery.validator.addMethod("dobvalidation",
function (value, element, param) {
if (value.length > 3) {
var test = $(element).attr('data-val-dobvalidation-err1');
$.validator.unobtrusive.messages.dobvalidation = test; // this line of code is
not working
return false;
}
return true;
});
public class DateOfBirthFluentValidationPropertyValidator : FluentValidationPropertyValidator
{
public int? MinimumAge { get; set; }
public string DateFormat { get; set; }
public string InvalidDateFormatErrorMessage { get; set; }
public string YoungerThanMinimumErrorMessage { get; set; }
public DateOfBirthFluentValidationPropertyValidator(ModelMetadata metadata, ControllerContext controllerContext, PropertyRule rule, IPropertyValidator validator,
int? minimumAge = null, string dateFormat = null,string invalidDateFormatErrorMessage = null, string youngerThanMinimumAgeErrorMessage = null)
: base(metadata, controllerContext, rule, validator)
{
MinimumAge = minimumAge;
DateFormat = dateFormat;
InvalidDateFormatErrorMessage = invalidDateFormatErrorMessage;
YoungerThanMinimumErrorMessage = youngerThanMinimumAgeErrorMessage;
}
public override IEnumerable<ModelClientValidationRule> GetClientValidationRules()
{
var rule = new ModelClientValidationRule
{
ValidationType = "dobvalidation",
ErrorMessage = InvalidDateFormatErrorMessage
};
rule.ValidationParameters.Add("err1", InvalidDateFormatErrorMessage);
yield return rule;
}
}