Laravel Проверка в файле Lang - PullRequest
       0

Laravel Проверка в файле Lang

0 голосов
/ 03 апреля 2020

Я использую laravel 5.8 и включил проверку. php на своем ресурсе / lang / xx / folder.

В своем контроллере я использую этот код для проверки полей:

$validator = Validator::make($request->all(), [
            'lastname' => 'required',
            'firstname' => 'required',
            'gender' => 'required',
            'birthplace_id' => 'required',
            'birthdate' => 'required',
            'fiscal_code' => 'required|unique:customers,fiscal_code,NULL,id,deleted_at,NULL',
        ]);

Мне не нужно возвращать $ validator, но мне нужно, в той же функции, распечатать ошибки. Я написал этот код:

if ($validator->fails()) {
                \Log::info(json_encode($validator));
}

И я получил это:

{
        "customMessages": [],
        "fallbackMessages": [],
        "customAttributes": [],
        "customValues": [],
        "extensions": [],
        "replacers": []
}

это содержание моей проверки. php файл:

return [

/*
|--------------------------------------------------------------------------
| Validation Language Lines
|--------------------------------------------------------------------------
|
| The following language lines contain the default error messages used by
| the validator class. Some of these rules have multiple versions such
| as the size rules. Feel free to tweak each of these messages here.
|
*/

'required' => 'The :attribute field is required.',
'unique' => 'Il :attribute è già stato utilizzato.',

/*
|--------------------------------------------------------------------------
| Custom Validation Language Lines
|--------------------------------------------------------------------------
|
| Here you may specify custom validation messages for attributes using the
| convention "attribute.rule" to name the lines. This makes it quick to
| specify a specific custom language line for a given attribute rule.
|
*/

'custom' => [
    'attribute-name' => [
        'rule-name' => 'custom-message',
    ],
],

/*
|--------------------------------------------------------------------------
| Custom Validation Attributes
|--------------------------------------------------------------------------
|
| The following language lines are used to swap our attribute placeholder
| with something more reader friendly such as "E-Mail Address" instead
| of "email". This simply helps us make our message more expressive.
|
*/

'attributes' => [],

];

Как я могу подключить мой валидатор к валидации. php lang file?

Ответы [ 3 ]

0 голосов
/ 03 апреля 2020

Вы должны вызвать validate по запросу следующим образом:

$validatedData = $request->validate([
       'lastname' => 'required',
       'firstname' => 'required',
       'gender' => 'required',
       'birthplace_id' => 'required',
       'birthdate' => 'required',
       'fiscal_code' => 'required|unique:customers,fiscal_code,NULL,id,deleted_at,NULL',          
    ]);

Вы можете получить доступ к сообщениям об ошибках в вашем blade, как указано в документах

Вы можете распечатать их следующим образом:

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

Если, например, fiscal_code не является уникальным, сообщение

Il fiscal_code è già stato utilizzato.

должен появиться.

0 голосов
/ 03 апреля 2020

Я решил с этим кодом:

        if ($validator->fails()) {
            return response()->json([
                'description' => 'Validation failed',
                'errors' => $validator->messages()
            ], 500);
        }
0 голосов
/ 03 апреля 2020

Он должен автоматически подключиться к проверке. php file

Попробуйте использовать его следующим образом:

$request->validate([
   'lastname' => 'required',
   'firstname' => 'required',
    'gender' => 'required',
    'birthplace_id' => 'required',
    'birthdate' => 'required',
    'fiscal_code' => 'required|unique:customers,fiscal_code,NULL,id,deleted_at,NULL'
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...