FormRequest 管理额外的动作

FormRequest managing extra actions

我有一个多步骤表单,每个步骤都有自己的表单请求来验证字段。

一切正常,但我需要执行一些额外操作以防某个字段未通过验证。

因此,如果 FormRequest 导致错误,控制器将被绕过并返回到显示错误的视图。

在我的例子中,我有一个 title 的验证规则。如果 title 存在于数据库中,我需要 运行 一些额外的 PHP 代码。

我怎样才能做到这一点?

您可以覆盖 FormRequest 中的 validationFailed 方法并检查哪个字段未通过验证。

protected function failedValidation(Validator $validator)
{
    if (in_array('title', $validator->failed())) {
        // TODO
    }

    // You could also check individual errors with $validator->errors()

    parent::failedValidation($validator);
}