Об'єкт validation, вивчаємо web

Методи об'єкта Validation

  • Конструктор. Як параметр передається масив змінних (зазвичай це глобальний масив $ _POST або $ _GET), які треба перевірити. Викликати можна по-різному, найпростіше:
Зверніть увагу, що масив не буде копіюватися, а передається по посиланню, тобто доступний для змін (взагалі він перетворюється в об'єкт ArrayObject).
  • Метод add_rules (). Для того, щоб перевіряти змінні, треба вказати правила. Перший параметр завжди ім'я змінної (тобто ключ в переданому масиві). Крім того, можна передати в якості імені поля зірочку (символ '*') або TRUE. тоді правило буде застосовано до всіх перевіряється полях. Далі слідують правила, які можуть бути вбудованими (це найбільш поширені правила, такі як required і email), так і певними користувачем (в цьому випадку необхідно вказати об'єкт і ім'я методу цього об'єкта) - такі правила називають callback (або custom callback). Приклади використання:

    Ці правила описані в самому класі Validation. Також можна використовувати правила з хелпери valid:

  • date. Значення має бути датою. Просто перевірка strtotime ($ str)! == FALSE.
  • Як писати своє правило

    Правило - це просто публічний (public) метод класу, в якому формуються правила для Validation. В якості першого параметра вказується об'єкт Validation. далі ім'я поля. У разі невідповідності правилу необхідно додавати помилку за допомогою методу add_error (). Приклад callback 'а:

    Примітка. Тут-то і виявилося розбіжність з документацією. У callback передається тільки ім'я поля. Відповідно ніде викликати метод add_error (). Зате помилка в разі повернення FALSE з функції записується системою самостійно. Загалом, чергова «непонятка» в документації.

    Що в підсумку? Сам по собі метод validate () повертає результат перевірки - TRUE / FALSE. Масив помилок доступний через метод errors (). застосований до масиву, який ми передавали в конструктор Validate:

    Схожі статті