jQuery Validate: remote - все работает, но ошибка не отображается - PullRequest
0 голосов
/ 27 ноября 2011

Я пытаюсь внедрить проверку электронной почты с помощью плагина Bassistance jQuery и проверить, существует ли адрес электронной почты.

Удаленный скрипт возвращает корректно true или false, однако сообщение об ошибке не отображается. Другие проверки (обязательно, по электронной почте) отлично работает.

Есть идеи, что мне здесь не хватает?

Код JQuery:

jQuery().ready(function() {
    jQuery("#post").validate({
        rules: {
            lid_email: {
                required: true,
                email: true,
                remote:  {
                    type: 'POST',
                    url:"email-check.php"
                }
            }
        },
        messages: {
            lid_email: {
                required: 'Gelieve een geldig e-mailadres in te vullen.<br>',
                email: 'Gelieve een geldig e-mailadres in te vullen.<br>',
                remote: 'Dit adres bestaat reeds. Gelieve een ander adres te kiezen.'
            }
        }
    })
    jQuery('#lid_email').blur(function() {
        jQuery("#post").validate().element( "#lid_email" );
    });
});

И удаленный скрипт:

<?php 
header('Content-type: application/json');
require('../../../wp-blog-header.php');

$request = trim(strtolower($_POST['lid_email']));

if ( email_exists($request) == TRUE ) {
    echo json_encode(FALSE);
} else {
    echo json_encode(TRUE);
}
?>

Ответы [ 2 ]

2 голосов
/ 27 ноября 2011

Вы пробовали с:

echo (email_exists($request) === true )?'true':'false'

вместо:

if ( email_exists($request) == TRUE ) {
    echo json_encode(FALSE);
} else {
    echo json_encode(TRUE);
}

У меня похожая проблема, и я решил ее таким образом. Кроме того, я прокомментировал вам, что таким образом мне не нужно помещать заголовок json.

0 голосов
/ 28 ноября 2011

Я нашел решение:

  • Я использую скрипт на сайте Wordpress и включил wp-blog-header.php, чтобы получить доступ к функциям Wordpress.

  • Видимо, строка require('../../../wp-blog-header.php нарушает функциональность json

  • Если я удаляю эту строку, логические значения отправляются правильно, и сообщение об ошибке

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...