ModuleValidate_EntityValidatorNumber
Package | engine.modules.validate |
---|---|
Inheritance | class ModuleValidate_EntityValidatorNumber » ModuleValidate_EntityValidator » Entity » LsObject |
Since | 1.0 |
Source Code | /engine/modules/validate/entity/ValidatorNumber.entity.class.php |
Валидатор числовых значений
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
allowEmpty | bool | Допускать или нет пустое значение | ModuleValidate_EntityValidatorNumber |
bSkipOnError | bool | Пропускать или нет ошибку | ModuleValidate_EntityValidator |
fields | array | Список полей сущности для валидации | ModuleValidate_EntityValidator |
integerOnly | bool | Допускать только целое число | ModuleValidate_EntityValidatorNumber |
integerPattern | string | Регулярное вырожение для целого числа | ModuleValidate_EntityValidatorNumber |
label | null|string | Название поля сущности для отображения в тексте ошибки | ModuleValidate_EntityValidator |
max | null|integer|float | Максимально допустимое значение | ModuleValidate_EntityValidatorNumber |
min | null|integer|float | Минимально допустимое значение | ModuleValidate_EntityValidatorNumber |
msg | null|string | Текст ошибки валидации, переопределяет текст валидатора | ModuleValidate_EntityValidator |
msgTooBig | string | Кастомное сообщение об ошибке при слишком большом числе | ModuleValidate_EntityValidatorNumber |
msgTooSmall | string | Кастомное сообщение об ошибке при слишком маленьком числе | ModuleValidate_EntityValidatorNumber |
numberPattern | string | Регулярное вырожение для числа, допускается дробное | ModuleValidate_EntityValidatorNumber |
on | null|array | Список сценариев в которых участвует валидатор | ModuleValidate_EntityValidator |
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aData | array | Данные сущности, на этот массив мапятся методы set* и get* | Entity |
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
Method | Description | Defined By |
---|---|---|
Init() | Метод инициализации сущности, вызывается при её создании | Entity |
_Validate() | Выполняет валидацию данных сущности | Entity |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | Entity |
__construct() | Если передать в конструктор ассоциативный массив свойств и их значений, то они автоматом загрузятся в сущность | Entity |
_addValidateError() | Добавляет для поля ошибку в список ошибок | Entity |
_clearValidateErrors() | Очищает список всех ошибок или для конкретного поля | Entity |
_createValidators() | Создает и возвращает список валидаторов для сущности | Entity |
_getData() | Получает массив данных сущности | Entity |
_getDataArray() | Рекурсивное преобразование объекта и вложенных объектов в массив | Entity |
_getDataOne() | Возвращает данные по конкретному полю | Entity |
_getPrimaryKey() | Получение первичного ключа сущности (ключ, а не значение!) | Entity |
_getPrimaryKeyValue() | Возвращает значение первичного ключа/поля | Entity |
_getValidateError() | Возвращает первую ошибку для поля или среди всех полей | Entity |
_getValidateErrors() | Возвращает список ошибок для всех полей или одного поля | Entity |
_getValidateScenario() | Возвращает текущий сценарий валидации | Entity |
_getValidators() | Возвращает список валидаторов с учетом текущего сценария | Entity |
_hasValidateErrors() | Проверяет есть ли ошибки валидации | Entity |
_setData() | Устанавливает данные сущности | Entity |
_setValidateScenario() | Устанавливает сценарий валидации | Entity |
applyTo() | Применять или нет сценарий к текущему валидатору | ModuleValidate_EntityValidator |
validate() | Запуск валидации | ModuleValidate_EntityValidatorNumber |
validateEntity() | Запускает валидацию полей сущности | ModuleValidate_EntityValidator |
validateEntityField() | Запускает валидацию конкретного поля сущности | ModuleValidate_EntityValidator |
Protected Methods
Method | Description | Defined By |
---|---|---|
getMessage() | Возвращает сообщение, используется для получения сообщения об ошибке валидатора | ModuleValidate_EntityValidator |
getValueOfCurrentEntity() | Возвращает значение поля текущей сущности | ModuleValidate_EntityValidator |
isEmpty() | Проверяет данные на пустое значение | ModuleValidate_EntityValidator |
setValueOfCurrentEntity() | Устанавливает значение поля текущей сущности | ModuleValidate_EntityValidator |
Property Details
allowEmpty
property
public bool $allowEmpty;
Допускать или нет пустое значение
integerOnly
property
public bool $integerOnly;
Допускать только целое число
integerPattern
property
public string $integerPattern;
Регулярное вырожение для целого числа
max
property
public null|integer|float $max;
Максимально допустимое значение
min
property
public null|integer|float $min;
Минимально допустимое значение
msgTooBig
property
public string $msgTooBig;
Кастомное сообщение об ошибке при слишком большом числе
msgTooSmall
property
public string $msgTooSmall;
Кастомное сообщение об ошибке при слишком маленьком числе
numberPattern
property
public string $numberPattern;
Регулярное вырожение для числа, допускается дробное
Method Details
validate()
method
public bool|string validate(mixed $sValue)
| ||
$sValue | mixed | Данные для валидации |
{return} | bool|string |
Source Code: /engine/modules/validate/entity/ValidatorNumber.entity.class.php#89 (show)
public function validate($sValue) {
if (is_array($sValue)) {
return $this->getMessage($this->Lang_Get('validate_number_must_number',null,false),'msg');
}
if($this->allowEmpty && $this->isEmpty($sValue)) {
return true;
}
if($this->integerOnly) {
if(!preg_match($this->integerPattern,"$sValue")) {
return $this->getMessage($this->Lang_Get('validate_number_must_integer',null,false),'msg');
}
} else {
if(!preg_match($this->numberPattern,"$sValue")) {
return $this->getMessage($this->Lang_Get('validate_number_must_number',null,false),'msg');
}
}
if($this->min!==null && $sValue<$this->min) {
return $this->getMessage($this->Lang_Get('validate_number_too_small',null,false),'msgTooSmall',array('min'=>$this->min));
}
if($this->max!==null && $sValue>$this->max) {
return $this->getMessage($this->Lang_Get('validate_number_too_big',null,false),'msgTooBig',array('max'=>$this->max));
}
return true;
}
Запуск валидации