NotEmpty - Не пустое значение
Этот валидатор позволяет вам проверить, является ли данное значение не пустым. Это часто полезно при работе с элементами формы или другим пользовательским вводом. Вы можете использовать этот валидатор, чтобы убедиться, что пользователь заполнил поле и оно не пустое.
По умолчанию этот валидатор работает иначе, чем вы ожидаете, работая с PHP функцией empty(). В частности, этот валидатор будет оценивать как целое число 0, так и строку «0» как пустые.
Вам может не подойти это поведение и, например, в вашем случае 0 не должен считаться пустым. Для таких случаев в валидаторе NotEmpty вы можете задать некоторые настройки.
- type: Устанавливает тип проверки, которая будет выполнена.
- boolean: Возвращает false, когда логическое значение равно false.
- integer: Возвращает false, когда задано целое число 0. По умолчанию эта проверка не активирована и возвращает true для любых целочисленных значений.
- float: Возвращает false, когда задано значение с плавающей запятой 0.0. По умолчанию эта проверка не активирована и возвращает true для любых значений с плавающей запятой.
- string: Возвращает false, когда задана пустая строка.
- zero: Возвращает false, когда задан один символ ноль ('0').
- empty_array: Возвращает false, когда задан пустой массив.
- null: Возвращает false, когда задано значение null.
- php: Возвращает false везде, где PHP empty () возвращает true.
- space: Возвращает false, если задана строка, содержащая только пробел.
- object: Возвращает true. false будет возвращено, когда объект не разрешен, но объект задан.
- object_string: Возвращает false, когда объект задан, а его метод __toString () возвращает пустую строку.
- object_count: Возвращает false, когда объект задан, он реализует Countable, и его количество равно 0.
- all: Возвращает false для всех вышеперечисленных типов.
Рассмотрим пример как передавать эти параметры в валидатор.
// Массив полей и значений
$data = [
'test' => 0,
];
// Настройки валидатора
$rules = [
'test' => [
'NotEmpty' => [
'type' => [
'integer',
'zero',
],
],
],
];
// Валидация
$validator = new \Johncms\Validator\Validator($data, $rules);
if ($validator->isValid()) {
echo 'OK';
} else {
d($validator->getErrors());
}
Как видите, для валидатора NotEmpty задан массив настроек, в нем передается параметр type со значениями из списка выше (обрабатываемые типы).
Last modified 2yr ago