• Час читання ~0 хв
  • 13.07.2022

Система валідації Laravel має 60+ доступні правила перевірки, але що робити, якщо ви хочете чогось додаткового? Ви можете легко створіть власне правило перевірки або використовуйте щось уже доступне в Інтернеті. Давайте подивимося.

22 Правила з Alphametric По-перше, ми починаємо з серії статей від Метт Кінгшотт, старший розробник за адресою Alphametric

, він написав чимало постів на Medium і додав усі правила в Github repository. Ось список доступних там правил:

  • Надійний пароль: перевіряє наявність "надійного" пароля
  • ТелефонНомер: дійсний номер
  • телефону Власник запису: потрібно, щоб ідентифікатор автентифікованого користувача збігався зі стовпцем user_id у певному записі бази даних, наприклад власник:публікації, ідентифікатор.
  • MonetaryFigure: грошова цифра, наприклад $72,33
  • ОдноразовийEmail: адреса електронної пошти, яка не є одноразовою
  • DoesNotExist: значення відсутнє в заданій таблиці / стовпці
  • бази даних Десятковий: десятковий з відповідним форматом
  • EncodedImage: значення є базовим64-кодованим зображенням даного типу
  • міма LocationCoordinates: розділений комами набір координат
  • широти та довготи FileExists: значення - це шлях до існуючого файлу
  • Дорівнює: значення дорівнює іншому заданому значенню
  • MacAddress: значення - припустима MAC-адреса
  • ISBN: значення є дійсним числом
  • ISBN-10 або ISBN-13 EndWith: значення закінчується заданим рядком
  • Парне: значення – парне число (десяткові дроби спочатку перетворюються за допомогою intval)
  • OddNumber: значення – це непарне число (десяткові дроби спочатку перетворюються за допомогою intval)
  • З малої літери: значення є рядком нижнього регістру
  • Велика: значення – це рядок верхнього регістру
  • Titlecase: значення є рядком
  • заголовка Домен: значення - це домен, наприклад google.com, www.google.com
  • Ідентифікація громадянина: ідентифікаційний номер громадянина США, Великобританії або Франції
  • БезWhitespace: значення не включає жодних символів

пробілу 8 Правила від Скотта Робінсона

Ще один хороший набір правил складається aria-label="Scott Robinson (відкривається в новій вкладці)" href="https://github.com/ssx?tab=repositories" rel="noreferrer noopener" target="_blank">Scott Robinson, який створив спеціальний веб-сайт laravel-validation-rules.github.io. У ньому є такі правила:

  • Колір: Перевіряє кольори, в даний час підтримує лише шістнадцяткові коди.
  • Коди країн: перевіряє 2 та 3 символьні коди країн.
  • Кредитна картка: Це правило підтвердить, що певний номер кредитної картки, дата закінчення терміну дії або CVC дійсні.
  • IP: Перевіряє, що IP-адреса є публічною або приватною. Підтримує ipv4 & ipv6.
  • Телефон: перевіряє формат номера телефону.
  • Субдомен: перевіряє субдомен, надісланий користувачем у вашій заявці.
  • Часовий пояс: це правило підтвердить, що певний часовий пояс дійсний у базі даних datetime системи.
  • Штат США: Затвердити штати США та провінції Канади.

5 Правил від Spatie Наша улюблена Spatie

team також мають їх власне сховище з кількома правилами:

  • Авторизовано: користувач має право виконувати можливість на екземплярі даної моделі.
  • Код країни: поле є дійсним кодом країни ISO3166.
  • Enum: значення є частиною даного класу enum, як myclabs/php-enum.
  • ModelsExist: всі значення у вхідному масиві існують як атрибути для даного класу моделі.
  • Розділений: рядок містить розділені значення, наприклад '[email protected], [email protected]'

5 Правил з Pineco.de

Нарешті, Gergő D. Nagy from Pineco.de має опублікувала статтю наприкінці 2017 року, з набором правил перевірки та restoreory. З тих пір він не оновлювався, тому використовуйте з обережністю. Правила такі:

  • Перевірка пароля користувача
  • Непарні або парні числа Значення
  • можна збільшити лише
  • Значення містить певні слова
  • День обов'язково повинен бути буднім днем

Все, що я пропустив?

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