Запустите веб-сайт "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" для данного элемента.