За последние 24 часа нас посетили 17939 программистов и 1587 роботов. Сейчас ищет 1271 программист ...

Загрузка файла

Тема в разделе "Laravel", создана пользователем Dimon2x, 15 авг 2018.

  1. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Если неправильно заполнить обычное поле, то после перезагрузки страницы, это значение можно вывести хелпером old, а как сделать с файлом также?
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
  3. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    А как валидировать расширение?
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Чего? Какое расширение? Ты щас с кем общаешься?
     
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
    Нашёл

    PHP:
    1. $rules = [
    2.            'description' => 'min:4',
    3.            'image' => 'required|image|mimes:jpg,jpeg'
    4.            ];
    5.    
    6.         $messages = [
    7.             'min' => 'Название должно содержать минимум :min символа.',
    8.             'image.required' => 'Изображение загржать обязательно.',
    9.             'image.image' => 'Вы загрузили не изображение.',
    10.             'image.mimes' => 'Доустимые форматы: jpg, jpeg, png.',
    11.          ];
    12.    
    13.         Validator::make(
    14.             $request->all(),
    15.             $rules ,
    16.             $messages
    17.               )->validate();
     
  6. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    501
    Симпатии:
    58
    В контроллере валидацию делаешь?
     
  7. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    ты хоть что то читал?)))
     
  9. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.210
    Симпатии:
    185
  10. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @Dimon2x Сообщения валидации выносится в файлы переводов я тебе даже ссылку бросал на готовые ну и не
    'image'=>'required|image|mimes:jpg,jpeg'
    'image.mimes'=>'Доустимые форматы: jpg, jpeg, png.',
    а хотя бы 'ДоПустимые форматы: :mimes',
     
  11. yanuzay

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

    С нами с:
    28 мар 2018
    Сообщения:
    501
    Симпатии:
    58
    Просто поинтересовался, я сам новичок в laravel.

    Тоже много обсуждений прочитал , где спорили о том где делать валидацию в модели или контроллере или вообще в роуте.

    Тоже думаю нужно в контроллере делать.
     
  12. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    @nospiou, можно и не выносить сообщения в переводы, Laravel позволяет. Да и зачем, если проект не многоязычный? Точно также, это разработчику решать, выносить валидацию в формовые запросы, или делать Validate::make()
     
  13. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    @mkramer Ну а зачем дублировать код если есть готовые переводы? Как по мне то это грязь и не важно сколько языков. В контроллерах должен быть только код.
     
    villiwalla нравится это.
  14. villiwalla

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

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Валидация логика, а значит место её в модели а не в контроллере.
     
  15. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    @villiwalla, вот в модели её держать в Laravel не принято. На мой взгляд, лучше всего в их формовые запросы выносить, но кому как нравится.
     
  16. villiwalla

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

    С нами с:
    14 дек 2016
    Сообщения:
    471
    Симпатии:
    70
    Можно и так, но явно не в контроллере
     
  17. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.583
    Симпатии:
    1.761
    На самом деле, в мелком проекте можно и не так строго всё это соблюдать. Чем крупнее проект, тем больнее нарушения, но если проект уровня "получил модель - вывел модель", то можно и в контроллер напихать.
    --- Добавлено ---
    Это как в Yii2, хорошая практика для валидации - создавать отдельные модели форм, и в одном проекте, с увеличением сложности перенос валидации в эти модели форм плюс довольно таки сложная иерархия этих моделей форм позволила мне достичь гибкости изменения и довольно таки красивого кода, но если всю валидацию не столь сложно, беру и пишу всё прямо в моделях ActiveRecord, и это тоже работает. А вот реализация паттерна "репозиторий" там себя не оправдывала, только ввела бы лишний слой.