2016-08-16 2 views
0

Вот код, который не работает:Phalcon электронный фильтр не работает

$email = $this->request->get('emailFromPost','email',''); 

То, что я хочу, получает правильную переменную подтверждена электронной $email. Хотя он все равно работает. Кто-нибудь может мне помочь?

+0

Фильтры дезинфицирующей ввод, они не проверяют его. Можете ли вы предоставить примеры адресов электронной почты, которые вы хотите проверить? –

+0

Спасибо, но я стартер на Фалконе. Поэтому я не могу понять ваш смысл. В моем примере кода я отправляю переменную emailFromPost, например «test». И я получил $ email как «тест». Надеюсь, я могу получить электронную почту как ложную. –

+0

Дезинфицируя, я имею в виду, что он будет фильтровать нежелательные данные, на примерах вы можете проверить эту ссылку: http://stackoverflow.com/documentation/phalcon/4917/filtering-and-sanitizing/17367/convenient-in-model-sanitizing# t = 201608160647303667478 Если вы хотите вернуть как ложный, вы должны использовать валидацию, как предложено Дэнионом ниже. –

ответ

0

Следовать такой путь:

use Phalcon\Validation; 
use Phalcon\Validation\Validator\Email; 
... 

$validation = new Validation; 
$this->add('email', new Email(['message' => 'Email is not valid'])); 


if (count($messages = $validation->validate($data)) { 
    // iterate $messages 
    foreach ($messages as $message) { 
     echo $message."\n"; 
    } 
} 
+0

THX, я знаю, что он работает таким образом. Хотя мне интересно, почему фильтр электронной почты не работает? –

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