За последние 24 часа нас посетил 17791 программист и 1646 роботов. Сейчас ищут 960 программистов ...

Laravel Validation. Валидация числового поля по количеству символов.

Тема в разделе "PHP для новичков", создана пользователем Sergey_Tsarev, 13 ноя 2017.

  1. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Всем привет! Такой вопрос: как в Ларавел сделать валидацию числового поля по количеству символов?

    Если пишу так:
    PHP:
    1. $this->validate($data, [
    2.             'input' => 'required|numeric|max:10',
    3.         ]);
    то правило max срабатывает как проверка значения числа.

    если так:
    PHP:
    1. $this->validate($data, [
    2.   'input' => 'required|string|max:10',
    3.   ]);
    то пропускает буквы.

    А мне нужно чтобы поле могло содержать только цифры и могло содержать не более 10 цифр.
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Код (PHP):
    1. 'input' => array('required', 'regex:/\d{1,10}/')
     
    Sergey_Tsarev нравится это.
  3. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
    Думал, что есть какой-то способ без регулярки :( Значит, придётся использовать regex...
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @Sergey_Tsarev, вот что пишут руководствах:
     
    Sergey_Tsarev нравится это.
  5. Sergey_Tsarev

    Sergey_Tsarev Активный пользователь

    С нами с:
    17 мар 2016
    Сообщения:
    502
    Симпатии:
    105
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    digits_between - использует ту же самую регулярку
     
  7. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Осталось подискутировать на тему оптимизации, сопровождения и соответствия канонам :)