Запустите веб-сайт "addCustomValidityRule"

Я проверяю, есть ли на одном из двух текстовых вводов текст, используя webshim, и думаю, что пользовательская валидность звучит правильно. http://afarkas.github.io/webshim/demos/demos/webforms/4-webforms-custom-validity.html

Есть метод, который называется addCustomValidityRule это выглядит так:

$.webshims.addCustomValidityRule('testname', function (elem, value) {
    if (value && $(elem).hasClass('test-class') && value != 'foo bar baz') {
        return true; //means yes, it's not valid
    } else {
        return false; //no, it is valid
    }
}, 'you have to enter foo bar baz');

Но я не могу найти способ вызвать это. Как мне запустить или запустить его при нажатии кнопки "Отправить"?

2 ответа

Решение

Нашел другой способ это сделать, если кто-нибудь знает ответ на мой оригинальный вопрос, скажите, пожалуйста, все равно, что нужно знать:)

Просто так с webshim:

        @Html.TextBoxFor(x => x.MessageHeader)
        <textarea id="MessageText" name="MessageText" data-dependent-validation='{"from": "MessageHeader", "prop": "required", "toggle": true}' />

Больше информации об этом здесь: http://afarkas.github.io/webshim/demos/demos/webforms/4-webforms-custom-validity.html

@ Дэвид Ларсон

Проверка формы HTML5 использует setCustomValidity, чтобы пометить входные данные как недействительные с помощью customError. К сожалению, поле должно быть помечено как недействительное как можно скорее (submit-event слишком поздно).

Это означает, что если вы используете этот помощник addCustomValidityRule, он сразу же запустит функцию для всех элементов input, select и textarea, а также если обнаружит изменение. (изменить событие).

Если вы хотите вызвать эту функцию, просто запустите событие "refreshCustomValidityRules" для данного элемента.

Другие вопросы по тегам