2012-05-09 4 views
4

Может кто-нибудь пожалуйста, скажите мне, как я могу получить jQuery Validator вызвать обработчик errorPlacement когда remote функция потерпит неудачу? Я представил краткий пример:Как заставить jQuery Validator удаленно запускать errorPlacement?

Клифф Примечания: Согласно их документам, у меня есть для вывода JSON, но я должен был что-то пропустил, потому что я просто эхо из json_encode, или я дать ключ как echo json_encode(array('result' => 0)) как он говорит в этом block of text.

JS:

var validator = $("form#signup").validate({ 
    onfocousout: true, 
    rules: { 
     email: { 
      required: true, 
      email: true, 
      remote: { 
       type: "POST", 
       url: 'test.php', 
       data: { 
        email: function() {return $("#email").val();} 
       } 
      } 
     }, 
     errorPlacement: function(error, el) { 
      console.log('ERR' + $(el).attr('id')); 
     } 
    } 
}); 

PHP:

<?php 
echo false; // This should allow the errorPlacement to call shouldn't it? 
+1

Возможно, вы захотите выполнить echo 'json_encode (FALSE)', так как теперь вы ничего не эхо. (Но ничто не должно вызывать ошибку, если я правильно понимаю исходник.) – Zombaya

ответ

2

Я думаю, вам нужно повторить false в виде строки из вашего PHP-скрипта:

<?php 
echo 'false'; 

Я ve создал jsfiddle на основе вашего вопроса. Ссылка pastebin просто возвращает слово «false».

+0

Это путь уродливый. Как сказал Zombaya, 'json_encode (FALSE)' - это путь. – DevAntoine

+0

теоретически, 'json_encode (FALSE)' не создает допустимого JSON, так как действительный JSON имеет либо массив, либо объект на своем верхнем уровне –

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