Check length of email in validator

This commit is contained in:
Visman 2019-12-28 15:20:46 +07:00
parent a6180e05f9
commit 9f9f2e459a
3 changed files with 12 additions and 1 deletions

View file

@ -9,11 +9,12 @@ use ForkBB\Models\User\Model as User;
class Email extends Validators
{
const FLOOD = 3600;
const LENGTH = 80;
/**
* Проверяет email
* WARNING!!!
* Если передан гость 4-ым параметром, то проверка уникальности email не проводится
* Если 4-ым параметром передан гость, то проверка уникальности email не проводится
*
* @param Validator $v
* @param string $email
@ -27,6 +28,10 @@ class Email extends Validators
// поле отсутствует
if (null === $email) {
return null;
// проверка длины email в одном месте
} elseif (\mb_strlen($email, 'UTF-8') > self::LENGTH) {
$v->addError('Long email');
return $email;
// это не email
} elseif (false === ($result = $this->c->Mail->valid($email, true))) {
$v->addError('The :alias is not valid email');

View file

@ -129,6 +129,9 @@ msgstr "off"
msgid "Invalid email"
msgstr "The email address you entered is invalid."
msgid "Long email"
msgstr "The email address you entered is too long."
msgid "Required"
msgstr "(Required)"

View file

@ -129,6 +129,9 @@ msgstr "выкл."
msgid "Invalid email"
msgstr "Указанный почтовый адрес неверен."
msgid "Long email"
msgstr "Указанный почтовый адрес слишком длинный."
msgid "Required"
msgstr "(Обязательно)"