ModuleValidate_EntityValidatorEmail

Package framework.modules.validate
Inheritance class ModuleValidate_EntityValidatorEmail » ModuleValidate_EntityValidator » Entity » LsObject
Since 1.0
Source Code /framework/classes/modules/validate/entity/ValidatorEmail.entity.class.php
Валидатор емайл адресов

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
allowEmpty bool Допускать или нет пустое значение ModuleValidate_EntityValidatorEmail
allowName bool Учитывать при проверке имя отправителя, например, "Ivanov " ModuleValidate_EntityValidatorEmail
bSkipOnError bool Пропускать или нет ошибку ModuleValidate_EntityValidator
checkMX bool Производить проверку MX записи для емайла ModuleValidate_EntityValidatorEmail
checkPort bool Проверять 25 порт для емайла ModuleValidate_EntityValidatorEmail
condition null|string Условие срабатывания валидации ModuleValidate_EntityValidator
fields array Список полей сущности для валидации ModuleValidate_EntityValidator
fullPattern string Регулярное выражение для проверки емайла с именем отправителя. ModuleValidate_EntityValidatorEmail
label null|string Название поля сущности для отображения в тексте ошибки ModuleValidate_EntityValidator
msg null|string Текст ошибки валидации, переопределяет текст валидатора ModuleValidate_EntityValidator
on null|array Список сценариев в которых участвует валидатор ModuleValidate_EntityValidator
pattern string Регулярное выражение для проверки емайла ModuleValidate_EntityValidatorEmail

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
_aData array Данные сущности, на этот массив мапятся методы set* и get* Entity
aBehaviors array Список поведений LsObject
aValidateErrors array Список ошибок валидации в разрезе полей, например Entity
aValidateRules array Список правил валидации полей Entity
oEntityCurrent null|Entity Объект текущей сущности, которая проходит валидацию ModuleValidate_EntityValidator
sFieldCurrent null|string Объект текущей сущности, которая проходит валидацию ModuleValidate_EntityValidator
sPrimaryKey null|string Имя поля с первичным ключом в БД Entity
sValidateScenario string Сценарий валиадции полей Entity

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
AttachBehavior() Присоединяет поведение к объекту LsObject
DetachBehavior() Отсоединяет поведение от объекта LsObject
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
Init() Метод инициализации сущности, вызывается при её создании Entity
RemoveBehaviorHook() Удаляет хук поведения LsObject
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
_Validate() Выполняет валидацию данных сущности Entity
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля Entity
__clone() При клонировании сбрасываем поведения LsObject
__construct() Если передать в конструктор ассоциативный массив свойств и их значений, то они автоматом загрузятся в сущность Entity
__get() Обработка доступа к объекты поведения LsObject
_addValidateError() Добавляет для поля ошибку в список ошибок Entity
_clearValidateErrors() Очищает список всех ошибок или для конкретного поля Entity
_createValidators() Создает и возвращает список валидаторов для сущности Entity
_getData() Получает массив данных сущности Entity
_getDataArray() Рекурсивное преобразование объекта и вложенных объектов в массив Entity
_getDataOne() Возвращает данные по конкретному полю Entity
_getPrimaryKey() Получение первичного ключа сущности (ключ, а не значение!) Entity
_getPrimaryKeyValue() Возвращает значение первичного ключа/поля Entity
_getValidateError() Возвращает первую ошибку для поля или среди всех полей Entity
_getValidateErrors() Возвращает список ошибок для всех полей или одного поля Entity
_getValidateRules() Возвращает список правил для валидации Entity
_getValidateScenario() Возвращает текущий сценарий валидации Entity
_getValidators() Возвращает список валидаторов с учетом текущего сценария Entity
_hasValidateErrors() Проверяет есть ли ошибки валидации Entity
_setData() Устанавливает данные сущности Entity
_setDataSafe() Устанавливает данные, но только те, которые есть в $this->aValidateRules Entity
_setValidateScenario() Устанавливает сценарий валидации Entity
applyTo() Применять или нет сценарий к текущему валидатору ModuleValidate_EntityValidator
getTypeValidator() Возвращает тип валидатора ModuleValidate_EntityValidator
validate() Запуск валидации ModuleValidate_EntityValidatorEmail
validateEntity() Запускает валидацию полей сущности ModuleValidate_EntityValidator
validateEntityField() Запускает валидацию конкретного поля сущности ModuleValidate_EntityValidator
validateValue() Проверка емайла на корректность ModuleValidate_EntityValidatorEmail

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
PrepareBehaviors() Инициализация поведений LsObject
getMessage() Возвращает сообщение, используется для получения сообщения об ошибке валидатора ModuleValidate_EntityValidator
getValueOfCurrentEntity() Возвращает значение поля текущей сущности ModuleValidate_EntityValidator
isEmpty() Проверяет данные на пустое значение ModuleValidate_EntityValidator
setValueOfCurrentEntity() Устанавливает значение поля текущей сущности ModuleValidate_EntityValidator

Property Details

allowEmpty property
public bool $allowEmpty;

Допускать или нет пустое значение

allowName property
public bool $allowName;

Учитывать при проверке имя отправителя, например, "Ivanov "

See Also

checkMX property
public bool $checkMX;

Производить проверку MX записи для емайла

checkPort property
public bool $checkPort;

Проверять 25 порт для емайла

fullPattern property
public string $fullPattern;

Регулярное выражение для проверки емайла с именем отправителя. Используется только при allowName = true

See Also

pattern property
public string $pattern;

Регулярное выражение для проверки емайла

Method Details

validate() method
public bool|string validate(mixed $sValue)
$sValue mixed Данные для валидации
{return} bool|string
Source Code: /framework/classes/modules/validate/entity/ValidatorEmail.entity.class.php#86 (show)
public function validate($sValue)
{
    if (
is_array($sValue)) {
        return 
$this->getMessage($this->Lang_Get('validate.email.not_valid'nullfalse), 'msg');
    }
    if (
$this->allowEmpty && $this->isEmpty($sValue)) {
        return 
true;
    }
    if (!
$this->validateValue($sValue)) {
        return 
$this->getMessage($this->Lang_Get('validate.email.not_valid'nullfalse), 'msg');
    }
    return 
true;
}

Запуск валидации

validateValue() method
public bool validateValue(string $sValue)
$sValue string Данные для валидации
{return} bool
Source Code: /framework/classes/modules/validate/entity/ValidatorEmail.entity.class.php#107 (show)
public function validateValue($sValue)
{
    
$bValid is_string($sValue) && strlen($sValue) <= 254 && (preg_match($this->pattern,
                
$sValue) || $this->allowName && preg_match($this->fullPattern$sValue));
    if (
$bValid) {
        
$sDomain rtrim(substr($sValuestrpos($sValue'@') + 1), '>');
    }
    if (
$bValid && $this->checkMX && function_exists('checkdnsrr')) {
        
$bValid checkdnsrr($sDomain'MX');
    }
    if (
$bValid && $this->checkPort && function_exists('fsockopen')) {
        
$bValid fsockopen($sDomain25) !== false;
    }
    return 
$bValid;
}

Проверка емайла на корректность