waDateValidator

Проверка дат.

Содержание...

Методы

  • isValid

    Проверяет корректность указанной даты.

  • isEmpty

    Проверяет, что указано непустое значение даты.

public function isValid ($value)

Проверяет корректность указанной даты.

Параметры

  • $value

    Обозначение даты в одном из форматов:

    • строка вида «гггг-мм-дд», например, «2000-12-31».
    • массив со следующими необязательными ключами:
      • 'year' целое положительное число больше 0;
      • 'month' целое положительное число от 1 до 12;
      • 'day' целое положительное число больше 0 и не больше количества дней в указанном месяце, если номер месяца указан в поле массива 'month'; либо просто больше 0, если номер месяца не указан.

Пример

$validator = new waDateValidator();

// false, если сегодня 30 декабря 2000 года — выполняется проверка на превышение относительно текущей даты
wa_dumpc($validator->isValid('2000-12-31'));

// true, потому что "31 февраля" формально выглядит верно и такая дата автоматически пересчитывается во "2 марта"
wa_dumpc($validator->isValid('2000-02-31'));

// false, потому что ни в одном месяце не бывает больше 31 дня
wa_dumpc($validator->isValid('2000-02-32'));

// true
wa_dumpc($validator->isValid([
    'year' => 2000,
    'month' => 2,
    'day' => 29,
], false));

public function isEmpty ($value)

Проверяет, что указано непустое значение даты. Возвращает true в следующих случаях:

  • в $value указана пустая строка или null;
  • в $value указан массив, в котором не заполнен ни один из ключей 'year', 'month' и 'day'.

Параметры

  • $value

    Значение даты в любом формате.

Пример

$validator = new waDateValidator();

// true
wa_dumpc($validator->isEmpty(''));

// true
wa_dumpc($validator->isEmpty(null));

// true
wa_dumpc($validator->isEmpty([]));

// false
wa_dumpc($validator->isEmpty([
    'year' => 2000,
]));

// false
wa_dumpc($validator->isEmpty([
    'year' => 2000,
    'month' => 2,
    'day' => 29,
]));