Проверка jQuery игнорирует заполнитель! - PullRequest
2 голосов
/ 06 марта 2011

Я использую плагин проверки jQuery для проверки моей формы, но кажется, что он игнорирует обязательные поля с текстом-заполнителем.

Как это решить?

Для отображения заполнителей во всех браузерах я использую этот плагин jQuery - http://formalize.me/

А для проверки своей формы я использую этот код:

$("#userRegistration").validate({
errorLabelContainer: "#messageBox",
wrapper: "li",
rules: {
    password: "required",
    password_again: {
    equalTo: "#password"
    }
  }
});

Ответы [ 4 ]

2 голосов
/ 10 мая 2011

Вы можете привязать это утверждение к вашему событию отправки.Либо через jQuery validate, либо вручную.(псевдокод, вам нужно добавить свои значения).

if(element.val() == placeholderText){
              element.val('');
 } 
0 голосов
/ 15 мая 2014

Найдите следующую функцию в validate.js required: function (a, b, d)


Затем замените всю функцию следующим:

required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,b)>0; /*default:return c.trim(a).length>0*/ default: if(typeof $.trim($(b).attr("placeholder")) != 'undefined') { return a != $.trim($(b).data("placeholder"))} else {return c.trim(a).length>0};}}
0 голосов
/ 13 июля 2011

У меня была такая же проблема с другим плагином, simpleWatermark.Но, перебирая сеть в поисках проблемы, я нашел решение на этой странице Плагин водяных знаков для jQuery .

Проблема в jquery-цепочке событий.Решение состояло в том, чтобы установить код для добавления водяного знака перед проверкой достоверности.

Надеюсь, это поможет другим.

0 голосов
/ 06 марта 2011

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

password:  {
  required: function(element) {
    return $(element).val() != $(element).attr("placeholder");
  }
}

Если это не совсем точно, это должно указать вам правильное направление.Я ссылался на ссылку: http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression

...