Laravel: определенный пользователем метод valiate в Request?

Я использую Laravel и подтверждаю код в Запросе:

class InformationsRequest extends Request
{
    // validate rule
    public function rules()
    {
        return [
            'title' => 'required|max:2000',
            'description' => 'required|max:5000'
        ];
    }

    // custom message
    public function messages()
    {
        return [
            'title.required' => 'aaa',
            'description.required' => 'bbb',
        ];
    }
}

Сегодня, пожалуйста, помогите мне 2 балла:

  1. Как я могу сделать пользовательскую проверку. (метод checkXXX)

Метод checkXXX может иметь 1 параметр, 2 параметра.....

public function rules()
{
    return [
        'title' => 'required|max:2000|checkXXX',
        'description' => 'required|max:5000'
    ];
}
  1. Пользовательское сообщение для метода checkXXX

1 ответ

Вы можете добавить пользовательские правила валидатора в сервис-провайдере. Есть больше информации об этом в документах.

Validator::extend('checkXXX', function ($attribute, $value, $parameters, $validator) {
    return $attribute === true;
});

Просто верните false из обратного вызова, если атрибут не проходит проверку.

Затем предоставьте пользовательское сообщение либо в lang файлы или вернуть один из messages() метод.

return [
    'title.checkXXX' => 'The :field failed the checkXXX rule.'
];
Другие вопросы по тегам