Я создал собственное правило проверки 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", функция (значение, элемент, параметры) {вернуть это.optional (element) || stripHtml (value) .match (/ \ b \ w + \ b / g) .length
Заполнитель строки "{0} {1}" и т. Д. Заменены значениями параметров?