Ненавязчивые пользовательские сообщения об ошибках jquery

Я создал настраиваемое правило проверки 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" })

У меня две проблемы / вопросы:

  1. Если значение недействительно, появляется сообщение об ошибке «Сообщение об ошибке» вместо «Пожалуйста, вставьте допустимый шестнадцатеричный цвет (#_ _ _ _ _ _)».

  2. Я видел в некоторых других примерах подобные сообщения об ошибках.

    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}" и т. Д. Заменить значениями параметров?


person Catalin    schedule 25.01.2012    source источник


Ответы (1)


Мне ваш вопрос не очень понятен. Однако, если вы пытаетесь написать собственные сообщения об ошибках, которые принимают параметры. Вот как этого добиться:

 jQuery.validator.addMethod('validdate', function (value, element,
    params) {
             value = model.date();
             if (value === '') {
                 return false;
             }
             var range = JSON.parse(params);
             return value > range[0] && value < range[1];
         }, $.format('You can only specify date between {0} and  {1}'));
person greengrassbluesky    schedule 11.02.2015