Система проверки Laravel имеет 60+ validation rules available, но что, если вы хотите что-то дополнительное? Вы можете easily create your own validation rule, или используйте что-то уже доступное в Интернете. Давайте взглянем.
22 правила из Алфавитный
Во-первых, мы начнем с серии статей Matt Kingshott, старший разработчик в Alphametric, он написал довольно много постов на Medium и добавил все правила в Репозиторий на гитхабе. Вот список правил, доступных там:
- Надежный пароль: checks for "strong" пароль
- Номер телефона: действующий номер телефона
- RecordOwner: Требуется, чтобы идентификатор аутентифицированного пользователя соответствовал столбцу user_id в данной записи базы данных, например. владелец: сообщения, идентификатор
- ДенежнаяФигура: денежная цифра, например, 72,33 доллара США.
- Одноразовая электронная почта: адрес электронной почты, который не является одноразовым
- Не существует: значение отсутствует в данной таблице/столбце базы данных
- Десятичная дробь: десятичное число в соответствующем формате
- Кодированное изображение: значение представляет собой изображение заданного типа mime в кодировке base64.
- РасположениеКоординаты: разделенный запятыми набор координат широты и долготы
- Файл существует: значение — это путь к существующему файлу
- Равно: значение равно другому заданному значению
- MAC-адрес: значение является действительным MAC-адресом
- ISBN: значение является действительным номером ISBN-10 или ISBN-13.
- заканчивается с: значение заканчивается заданной строкой
- Четное число: value is an четное number (decimals are first converted using intval)
- СтранныйNumber: значение является нечетным числом (десятичные числа сначала преобразуются с помощью intval)
- Нижний регистр: значение — строчная строка
- Верхний регистр: значение представляет собой строку в верхнем регистре
- Название дела: значение представляет собой строку в заголовке
- Домен: значение является доменом, например. google.com, www.google.com
- Идентификация гражданина: значение id идентификационный номер гражданина США, Великобритании или Франции
- Без пробела: значение не содержит пробелов
8 правил от Скотта Робинсона
Еще один хороший свод правил составлен Scott Robinson, который создал специальный сайт laravel-validation-rules.github.io. У него есть такие правила:
- Цвет: Validates colours, currently supporting hex codes Только.
- Коды стран: Проверяет 2- и 3-символьные коды страны.
- Кредитная карта: Это правило будет проверять действительность данного номера кредитной карты, даты истечения срока действия или CVC.
- IP: Проверяет, является ли IP-адрес общедоступным или частным. Поддерживает ipv4 и ipv6.
- Телефон: проверяет формат номера телефона.
- Субдомен: Проверяет субдомен, отправленный пользователем в вашем приложении.
- Часовой пояс: это правило будет проверять, что данный часовой пояс действителен в базе данных даты и времени системы.
- штат США: проверка штатов США и провинций Канады.
5 Rules from Космос
Наш любимый Spatie у команды также есть their own repository с несколькими правилами:
- Авторизованный: пользователю разрешено выполнять действие на экземпляре данной модели.
- Код страны: поле является действительным кодом страны ISO3166.
- перечисление: значение является частью данного класса enum, например myclabs/php-enum.
- МоделиЕсть: все значения во входном массиве существуют как атрибуты для данного класса модели.
- С разделителями: строка содержит значения с разделителями, например '[email protected], [email protected]'
5 правил от Pineco.de
Наконец-то, Герго Д. Надь от Pineco.de есть published an article в конце 2017 года, с набором правил проверки и repository. С тех пор он не обновлялся, поэтому используйте его с осторожностью. Правила:
- Проверка пользователя password
- Odd or even числа
- Значение может быть увеличенный only
- Значение содержит конкретный слова
- День должен быть будний день
Что-нибудь я пропустил?