Я создал настраиваемое правило проверки jquery, которое проверяет шестнадцатеричный цвет:
$.validator.addMethod("hexcolor", function (value, element) {
return this.optional(element) || /^(#){1}([a-fA-F0-9]){6}$/.test(value);
}, "Please insert a valid hex color (#______)");
$.validator.unobtrusive.adapters.add("hexcolor", function (options) {
options.rules['hexcolor'] = options.params;
options.messages['hexcolor'] = options.message;
});
Когда я создаю свое текстовое поле, у меня есть что-то вроде этого
@Html.TextBoxFor(p => p.Color, new { data_val = "true", data_val_hexcolor = "Error message" })
У меня две проблемы / вопросы:
Если значение недействительно, появляется сообщение об ошибке «Сообщение об ошибке» вместо «Пожалуйста, вставьте допустимый шестнадцатеричный цвет (#_ _ _ _ _ _)».
Я видел в некоторых других примерах подобные сообщения об ошибках.
jQuery.validator.addMethod ("maxWords", function (value, element, params) {return this.optional (element) || stripHtml (value) .match (/ \ b \ w + \ b / g) .length ‹params; }, jQuery.validator.format ("Пожалуйста, введите {0} слов или меньше."));
Строка-заполнитель "{0} {1}" и т. Д. Заменить значениями параметров?