Почему не переопределяется сообщение? PHP: $rules = ['description' => 'min:4']; $messages = [ 'description' => 'Поле :attribute должно содержать минимум :min символа.', ]; Validator::make( $request->all(), $rules , $messages )->validate(); Выводит стандартное The description must be at least 4 characters.
Локализация делается через файлы локализации ну и как минимум "description" => ["min" => "Поле :attribute должно содержать минимум :min символа."], "description.min" => "Поле :attribute должно содержать минимум :min символа." --- Добавлено --- https://github.com/caouecs/Laravel-lang https://laravel.com/docs/5.6/localization
Правильным ли способом вывожу ошибку для конкретного поля? Если нет, то каким надо? PHP: $rules = ['description' => 'min:4']; $messages = [ 'min' => 'Название должно содержать минимум :min символа.', ]; Validator::make( $request->all(), $rules , $messages )->validate(); PHP: <form action="store" method="post" enctype="multipart/form-data"> {{csrf_field()}} <input type="file" name="image"> <br> <br> @if ($errors->has('description')) <?php echo $errors->get('description')[0]; ?> @endif <br> <input type="text" name="description" value="{{ old('description') }}"> <br> <br> <input type="submit"> </form>
1. Устанавливаешь пакет https://github.com/caouecs/Laravel-lang 2. Переключаешь язык или в конфиге или app()->setLocale('ru'); 3. $request->validate(['description'=>'min:4']) 4. Готово. 1 строчка кода)
Это не зависимость. Это просто перевод. Можешь вручную только скачать русский https://github.com/caouecs/Laravel-lang/tree/master/src/ru или так Код (Text): svn export https://github.com/caouecs/Laravel-lang/trunk/src/ru resources/lang/ru
Неправильный формат у массива с сообщениями, скорее всего не указано, к какому правилу относится сообщение об ошибке. Ключ должен быть description.min, как можно догадаться из доки (прямо про метод make там не написано, но при описании замены сообщений об ошибках в классах реквестов именно такой формат)
Как сделать проверку, что бы это был массив и в нём должны быть только цифры? PHP: <select multiple size="10" name="choose-category[]"> <option value="none">Невыбрано</option> @foreach($category as $cat) <option value="{{$cat->id}}">{{$cat->name}}</option> @endforeach </select> PHP: 'choose-category' => 'array|in_array:numeric' --- Добавлено --- Решил сделать так, пойдёт? PHP: 'choose-category' => 'array|required' --- Добавлено --- Не не пойдёт, значение none проходит валидацию, а проходить оно должно --- Добавлено --- Решил вообще убрать HTML: <option value="none">Не выбрано</option> И работает, как надо