2012-04-27 2 views
22

У меня есть своя проблема. Я хочу вызвать jquery-valdation errormessage на элемент, даже если вы действительно.jQuery подтверждение ошибки сообщение об ошибке

Сценарий: У меня есть большая форма. Один из входов для PersonalId. Необязательно вводить этот PersonalId. Помимо этого ввода у меня есть обычная кнопка (не кнопка отправки). Если вы нажмете на это (получение информации из ajax), а поле PersonalId пусто, я хочу вызвать это сообщение об ошибке.

Возможно ли это с помощью jQuery Подтвердить или мне нужно создать свою собственную функцию?

+0

Возможный дубликат [Вручную установить ненавязчивую ошибку проверки в текстовом поле] (https://stackoverflow.com/questions/7380278/manually-set-unobtrusive-validation-error-on-a-textbox) – KyleMit

ответ

45

Возможно ли это с помощью jQuery Подтвердить или мне нужно создать свою собственную функцию?

Оба, вид. Вы можете использовать функцию showErrors, чтобы отображать ошибки в форме вручную, но поскольку вы не хотите, чтобы это было правило, которое включено, когда вы отправьте форму, вам нужно будет сделать свою собственную проверку для значения в вход.

Что-то вроде:

var $validator = $("#myform").validate(); 
$("#checkid").click(function() { 
    var errors; 

    if (!$("#personalid").val()) { 
     /* Build up errors object, name of input and error message: */ 
     errors = { personalid: "Please enter an ID to check" }; 
     /* Show errors on the form */ 
     $validator.showErrors(errors);    
    }   
}); 

Пример:http://jsfiddle.net/andrewwhitaker/XjZer/

Обратите внимание, что форма будет еще представить, если нет ничего в personalid поле.

+0

У меня такая же проблема но как я могу вызвать ошибку для многомерного имени. Я не мог решить это по вашему решению. например 'field =" email "; var element = "data [Пользователь] [" + поле + "]"; errors = {element: field_error}; $ Validator.showErrors (ошибки); ' – Parixit

Смежные вопросы