Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.02.2018 13:13:55

unique, помогите разобратся.

Привет знатокам.
Прошу не пинать сильно. Я только, только начал разбираться в Laravel. Поставил я проверку на уникальность записи

$this->validate($request, [ 'name' => 'required|string|min:4|max:25|unique:firms,name']);

Так же все ошибки и успехи у меня на русском языке. А вот именно проверка уникальности выдает ошибку на английском "The given data failed to pass validation." Я попытался ее найти в Lang но ее там вообще нет ...

Как правильно надо проверять на уникальность ?

Не в сети

#2 05.02.2018 13:45:35

Re: unique, помогите разобратся.

Попробуй передать сообщение как третий параметр:

$this->validate($request, ['name' => 'required|string|min:4|max:25|unique:firms,name'], ['unique' => __('validation.not_unique')]);

Не в сети

#3 05.02.2018 14:11:01

Re: unique, помогите разобратся.

Не сработало. Все равно английское сообщение.

Не в сети

#4 05.02.2018 14:32:52

Re: unique, помогите разобратся.

/vendor/laravel/framework/src/Illuminate/Validation/ValidationException.php:
   30      public function __construct($validator, $response = null)
   31      {
   32:         parent::__construct('The given data failed to pass validation.');
   33  
   34          $this->response = $response;

Вот, что ловит мой unique ;( как то для меня вообще не понятно почему.

Не в сети

#5 05.02.2018 14:38:35

Re: unique, помогите разобратся.

Нашел причину.

use Illuminate\Validation\ValidationException;

У меня получается есть
use Illuminate\Validation\ValidationException;
и
use Illuminate\Support\Facades\Validator;


А как должно быть правильно? Оба или один?

Не в сети

#6 05.02.2018 18:35:55

Re: unique, помогите разобратся.

Не сработало. Все равно английское сообщение.

В конфигах какой язык? Перевод ошибки для нужного языка есть?
Попробуй так

$this->validate($request, ['name' => 'required|string|min:4|max:25|unique:firms,name'], ['unique' => 'Имя должно быть уникально']);

Языковые файлы можешь скопировать здесь
https://github.com/caouecs/Laravel-lang … ter/src/ru

Не в сети

#7 05.02.2018 18:40:25

Re: unique, помогите разобратся.

Мне кажется, что у тебя где-то в соседнем коде исключение кидает. Покажи пожалуйста весь контроллер.

Не в сети

#8 06.02.2018 18:35:57

Re: unique, помогите разобратся.

Ну я убрал use Illuminate\Validation\ValidationException; и все заработало.

В конфигах какой язык? Перевод ошибки для нужного языка есть?Попробуй так

RU - после того как убоал все стало работать правильно.

Языковые файлы можешь скопировать здесь

Я его и ставил себе для русского ...

Я просто не понимаю что делают эти два файлы. И почему они в системе оба?

Не в сети

#9 06.02.2018 18:45:38

Re: unique, помогите разобратся.

Не правильно написал.  Я понимаю что они служат валедаторами данных. Но я не понимаю почему они оба это делают ...

Не в сети

Подвал раздела