laravel пользовательское сообщение проверки API - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь написать пользовательское сообщение для проверки в laravel. Я проверил онлайн и увидел сообщение, где другие решают ту же проблему, добавляя защищенную функцию. Я также добавил функцию в свой код, но она не работает. Это мой код Это myFormController. php:

publi c function req (RegistrationRequest $ request) {$ validated = $ request-> validated (); возврат $ подтвержден; )}

Это запрос на регистрацию. php:

use Illuminate \ Contracts \ Validation \ Validator; использовать Illuminate \ Http \ Exceptions \ HttpResponseException;

publi c, функция authorize () {return true; }

public function rules()
{
    return [
        'email' => 'required|email',
        'firstname' => 'required|string|max:20',
        'lastname' => 'required|string|max:50',
        'password' => 'required|min:8',
    ];
}  protected function failedValidation(Validator $validator) {
throw new HttpResponseException(response()->json($validator->errors(), 422)); }

Когда это не сработало, я использовал это:

защищенная функция failValidation (\ Illuminate \ Contracts \ Validation \ Validator $ validator) {throw new \ Illuminate \ Validation \ ValidationException (response () -> json ($ validator-> errors (), 422)); }

Пожалуйста, что я делаю неправильно?

1 Ответ

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

Если вы хотите, чтобы пользовательские сообщения просто переопределяли метод messages, вам просто нужно вернуть массив, содержащий пары значений ключа field_name => 'message'

/**
 * Get custom messages for validator errors.
 *
 * @return array
 */
public function messages()
{
    return [
      'field_name.required' => 'field_name is requeired',
      'field_name.max' => 'max length should be something.'
    ];
}
...