Я пытался использовать jquery.validate для проверки формы с полем даты в ней. Я могу сделать это проверить должным образом на размытие: добавить атрибут validateonblur в тех областях, где я хочу, чтобы сделать это:jquery.validate dateISO: Действительно ли это полезно?
$("input[validateonblur]").blur(function() {
$(this.form).validate().element(this);
});
Но когда я отправить форму, проверку на тот момент только проверяет необходимые поля. Неважно, какой вид мусора в поле даты. Он полностью игнорирует атрибут dateISO, то ли я делаю это как атрибут в HTML ...
<input name="DOB" id="DOB" type="text" required dateISO="true" class="blah" />
... или вот так:
$("#MyForm").validate({
rules: {
DOB: {
required: true,
dateISO: true
}
});
... или оба.
Кроме того, я заметил, что при отправке формы он отображает всплывающие/подсказки для ошибок, а когда я вызываю $ (this.form) .validate(). Element (this) ;, он указывает на ошибки совершенно другим способом, вставив метки в HTML. Но опять же, их dateISO documentation page имеет пример, который ведет себя совершенно по-другому, чем то, что я вижу: он проверяет фактические значения даты и делает свои ошибки в методах на форме submit. Зачем?! Они не дают никаких параметров, я нет. Почему у них разные результаты?
Документация довольно скудная. В документации сказано, что форма дается метод действительный() при вызове Validate() на нем, чтобы настроить проверку, но во время выполнения он не определен:
// UPDATE: I had a very poor understanding of jquery when I wrote this.
alert(MyForm['validate']); // 'undefined'
Является ли эта библиотека в годной к употреблению состоянии, или я тратя мое время?
Всплывающие окна создаются вашим браузером, который, как я полагаю, является Chrome после отправки. Являются ли ваши требования все загруженными/вызванными по порядку? –
Почему вы добавляете событие 'onblur' в свои поля? Плагин jQuery Validate уже имеет значение по умолчанию для 'onfocusout'. – Sparky
@RobAdams - это многое объясняет - это даже больше, чем я понял! Вы правы, я просто удалил весь материал jquery.validate, и он все еще дал мне эти всплывающие окна. Что такое «требования»? Файлы .js, в которые я включаю? Я скопировал все это непосредственно из примера j.v, изменил пути для соответствия, и по крайней мере некоторые из кода j.v действительно работают, поэтому ... Dunno. –