2012-04-26 2 views
4

Я использую jquery validator.JQuery Validator- Правильная ошибка errorPlacement

У меня есть обычное правило, применяемое к группе элементов в моей форме. Эти входы могут также иметь другие (стандартные) правила, связанные с ними. Мне нужно разместить сообщение об ошибке в одном месте, если элемент не выполнил мое пользовательское правило, но другое место, если элемент не выполнил стандартное правило.

мне нужно что-то вроде -

errorPlacement: function(error, element) { 
    if (error == MyCustomError) { 
     // put my error at the top of the form 
    } else { 
     // put my error next to the element 
    } 

Я не могу видеть, что это «ошибка» объект на самом деле (пытался свертывание с поджигатель, но это было не очень информативно).

Опция выделения еще сложнее, потому что у меня даже не используется параметр «error».

ответ

9

ошибка вся метка ошибки HTML элемент, который добавляется с помощью JQuery Validate, то есть:

<label class="error">Error message here</label> 

Так что, если вы хотите поместить сообщение другому, если сообщение «Не делай этого», вы могут:

errorPlacement: function(error, element) { 
if (error.text() == "Do not do this") { 
    error.insertBefore("SELECT FIRST ELEMENT IN THE FORM HERE USING STANDARD JQUERY SELECTORS"); 
} else { 
    error.insertAfter(element); 
}