Download the PHP package mezuno/php-validator without Composer
On this page you can find all versions of the php package mezuno/php-validator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-validator
Rules Validator
Документация к RulesValidator
Оглавление
- Методы правил
- required() и nullable()
- min() и max()
- items()
- exists()
- type()
Правила
На текущий момент (28.08.2023) существуют следующие правила для валидации:
Класс | Значение | Валидно |
---|---|---|
IntRules | Целочисленное | ... -1, 0, 1, ... |
FloatRules | Дробное | ... -1.0, 0.0, 1 ... |
BoolRules | Булево | true, false, "true", "false", "on", "off", 1, 0, "1", "0" |
StringRules | Строка | "Some string" |
ArrayRules | Массив | [1, 2, "три"] |
И производные правила
Класс | Значение | Валидно |
---|---|---|
DateRules | Дата и время | "2023-08-03 11:38:06" |
PhoneRules | Телефон | "+79998887766" |
EmailRules | Почта | "[email protected]" |
ExistsRules | Существует в БД | Любое поле, если существует в БД |
Методы правил
required() и nullable()
У каждого правила существует минимум 2 метода: required() и nullable()
required() отвечает за обязательность поля
nullable() отвечает за обязательность и возможность поля быть null
[!NOTE] По умолчанию поле не обязательное
[!WARNING] required() и nullable() взаимоисключающие правила
Это значит, что нельзя указывать и то и другое, иначе применится последнее
min() и max()
Все правила типа NumericRules имеют методы min() и max()
Эти методы принимают парамтером минимальное и максимальное значение поля соответственно
Пример:
Также, у StringRules есть такие же методы, но имеют другое значение. Если в случае с NumericRules min() и max() обозначают конкретные значения, то в случае со строкой min() и max() обозначают ограничение на длину строки.
Пример:
items()
ArrayRules содержит метод items(), принимающий в себя правила валидации полей массива, или полей подмассивов
Метод items() у ArrayRules имеет два параметра: первый параметр - массив правил для валидации полей массива, второй - флаг $nested, который указывает на наличие вложенности
Пример массива с одним обязательным полем:
Валидно:
Невалидно:
Пример массива с валидацией вложенных массивов
Note Второй параметр при валидации вложенных массивов - true
Валидно:
Невалидно:
exists()
Принимает в себя класс репоизтория первым параметром, и метод этого репозитория вторым параметром.
Пример:
Метод validationExceptions()
Метод validationExceptions() нужен для установки кастомных сообщений на ошибки валидации
Чтобы задать кастомный Exception для какого-либо правила, нужно просто указать в возвращаемом массиве ключ поля, ключ правила и сам Exception
Пример:
В данном примере при непереданном в запросе поле field будет выброшен указанный Exception.
Также, в можно указать кастомные Exception для элементов массивов, следующим образом:
Если необходимо добавить кастомное сообщение для элемента вложенного массива, используйте ключ nested_items: