За последние 24 часа нас посетили 20414 программистов и 1092 робота. Сейчас ищут 845 программистов ...

Валидация даты

Тема в разделе "Laravel", создана пользователем lordconst, 11 апр 2020.

  1. lordconst

    lordconst Новичок

    С нами с:
    7 дек 2019
    Сообщения:
    151
    Симпатии:
    1
    Дошел до валидации в форме, читаю документацию https://laravel.ru/docs/v3/validation#dates
    PHP:
    1. public function rules()
    2.     {
    3.         return [
    4.             'date_off' => 'after:today',
    5.         ];
    6.     }
    В соответствующей модели добавил поле:
    PHP:
    1. protected $dates = ['date_off'];
    Но ошибку не выводит. А должно выводить, что дата не может быть меньше сегодняшней.
    В чем ошибся?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    Повнимательнее почитайте, для чего $fillables?
     
  3. lordconst

    lordconst Новичок

    С нами с:
    7 дек 2019
    Сообщения:
    151
    Симпатии:
    1
    а, нашел, что показывает какие поля должны быть заполнены. А с датой как быть тогда? Надо проверить, чтобы она была не меньше, чем сегодня
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
    @lordconst, а ты что, третий ларавель используешь? Зачем тебе его дока?
     
  5. lordconst

    lordconst Новичок

    С нами с:
    7 дек 2019
    Сообщения:
    151
    Симпатии:
    1
    а в пятом не нашел такой статьи
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.548
    Симпатии:
    1.754
  7. lordconst

    lordconst Новичок

    С нами с:
    7 дек 2019
    Сообщения:
    151
    Симпатии:
    1
    спасибо, но:
    PHP:
    1. 'date_off' => 'required|date|before:today',
    То есть до сегодняшней даты. Флешка выдает обязательно для заполнения даже если дата заполнена, если ДО и ПОСЛЕ сегодня
    что-то не то?
     
  8. lordconst

    lordconst Новичок

    С нами с:
    7 дек 2019
    Сообщения:
    151
    Симпатии:
    1
    Ну что, неужто никто не знает как дату проверить?
     
  9. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.817
    Симпатии:
    735
    Адрес:
    Татарстан
    Выходные, неохота напрягаться... Тут тебе не техподдержка твое проекта, а кто захотел тот и написал - когда захотел
     
  10. lordconst

    lordconst Новичок

    С нами с:
    7 дек 2019
    Сообщения:
    151
    Симпатии:
    1
    Удалось найти решение проблемы. Ошибка была глупейшая)
    Но изначально логика этой проверки была в том, что если дата вообще указана, то проверяется не прошла ли она. А как сделать пропуск валидации даты, если дата вообще не была выбрана? В базу может записываться null.
    Вопрос не в том как именно сделать (логично, что проверкой на null в html-элементе), а как вписать эту проверку внутрь валидатора? Или помимо require есть еще что-то?
    upd: тю, залез в документацию, сразу нашел ответ. Надо было nullable добавить вместо required, вдруг кому-то интересно будет
     
    #10 lordconst, 16 апр 2020
    Последнее редактирование: 16 апр 2020