Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проверка на существование email
$("#validform").html($("#validform").html()+"EMAIL: Не верно.<br>");
return false;
}
} else {
$(this).css({'border' : '1px solid #ff0000'});
$("#validform").html($("#validform").html()+"EMAIL: Не должно быть пустым.<br>");
}
});
Если есть какие-то ошибки, прошу отписать.Работает нормально, но это еще не факт, что правильно сделал.
На сервере через Routing ловлю checkmail/:email.
Где лучше проверять такие запросы, стоит ли создавать Контроллер? для одной проверки.Допустим я создам контроллер, и он в дальнейшем будет использован для других проверок, которые будут отправлены от клиента, через ajax, и тут сразу 2 вопрос, откуда отправлять клиенту ответ? представление создавать? для отправки true или false или null, или С контроллера отправлять echo json_encode();
higub
Отправлено: 04 Декабря, 2015 - 16:24:43
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2015
Покинул форум
Сообщений всего: 45
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
Я на сервере использую проверку всегда.
Перед отправкой на сервер, на клиенте проверяется корректность.
Читал один пост, Мелкий советовал использовать filter_var().
А насчет http://habrahabr[dot]ru/post/55820/ регулярных выражений, я думал старый век.Лучше отправить письмо на почту, и пусть пройдет по силке.
Но пост чуток о другом)
Мелкий
Отправлено: 04 Декабря, 2015 - 18:58:34
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Merrym пишет:
Читал один пост, Мелкий советовал использовать filter_var().
Ну и сейчас посоветую. Нативная функция, без больших косяков.
Всего-то делов, регулярка на 1153 символа длиной.
Merrym пишет:
Лучше отправить письмо на почту, и пусть пройдет по силке.
А это и есть единственный способ узнать, что такой адрес существует и к нему имеет доступ этот пользователь.
Валидация адреса - лишь способ отклонить явно ошибочные.
Та же доменная зона .travel существует уже очень давно.
Если нет желания читать RFC, то или доверьтесь тем, у кого желание было (т.е. нативная функция, а для js - какой-нибудь известный вариант. Например jquery validate) или проверяйте на наличие @ и хотя бы одного символа до и после.
Создавать ли отдельный контроллер - зависит от политики проекта. Обычно для универсальных проверок, которые нужны в разных местах оправдано сделать отдельный контроллер. Если проверка нужна только где-то в одном месте - то лучше этот action разместить где-нибудь рядышком с обработчиком формы.
Вьюху для вывода JSON не делают. Бывает разный синтаксический сахар вроде какого-нибудь
в контроллере, или ещё какого-нибудь указания, что возвращается json, но вьюху под это дело не делают.
----- PostgreSQL DBA
higub
Отправлено: 04 Декабря, 2015 - 19:07:09
Новичок
Покинул форум
Сообщений всего: 56
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
[+]
ну а так-же надо поставить в форму recapcha
Merrym
Отправлено: 04 Декабря, 2015 - 20:39:01
Новичок
Покинул форум
Сообщений всего: 45
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
Мелкий пишет:
Если нет желания читать RFC,
Я бы так не сказал...
Мелкий пишет:
контроллере, или ещё какого-нибудь указания, что возвращается json, но вьюху под это дело не делают.
Такой вопрос, если я отправляю ответ на ajax запрос, обязательно нужно в json_encode() - закодировать?.Или можно просто echo "строка"; (Добавление)
higub пишет:
recapcha
не понял, что за recapcha (Добавление)
hidden поле сделать в форме, с хеш кодом?,который проверять на сервере?
Мелкий
Отправлено: 04 Декабря, 2015 - 21:28:06
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Merrym пишет:
Я бы так не сказал...
Ну так вперёд, они все публично-доступны.
Начните с исторических RFC 561, RFC 680, RFC 724, RFC 733, затем сколько-то штук обновлений за сорокалетнюю историю протокола, мне их лениво искать.
Актуальный rfc, вроде бы, за номером 5322. Стоит осмыслить ещё как минимум RFC 5321, который запрещает адреса типа a@b и требует FQDNs.
Merrym пишет:
если я отправляю ответ на ajax запрос, обязательно нужно в json_encode() - закодировать?.Или можно просто echo "строка";
AJAX'у всё равно. Исторически он вообще на XML ориентировался (за что и получил последней буквой именно X).
----- PostgreSQL DBA
Merrym
Отправлено: 04 Декабря, 2015 - 21:52:11
Новичок
Покинул форум
Сообщений всего: 45
Дата рег-ции: Нояб. 2015
Помог: 0 раз(а)
Мелкий пишет:
AJAX'у всё равно. Исторически он вообще на XML ориентировался (за что и получил последней буквой именно X).
Я имел ввиду, чтоб не было потери данных.Лучше будет шифровать в строку, а на клиенте его принимать и обработать.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.