• Время чтения ~0 мин
  • 13.07.2022

Система проверки 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
  • Значение содержит конкретный слова
  • День должен быть будний день

Что-нибудь я пропустил?

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297