首页 > 解决方案 > Laravel 主动验证规则

问题描述

我对 Laravel 非常陌生,我想知道您是否可以帮助我创建自定义验证规则,我使用的是 Laravel 5.5 版。

我尝试做的是以下内容,我了解可以通过以下方式定义验证:

'email' => 'required|string'

我想添加一个新规则,具体称为'active'

在我要创建的应用程序中,我有几个表,其中有名为'active'(boolean) ..的列

用户:

id|name|email|active

角色:

id|name|active

我需要一个可以调用的规则,如下所示:

'email' => 'required|string|active'

简而言之,我需要一个在特定表中验证的规则,如果我正在验证的值是活动的,如果不是,给我发消息。非常感谢您提前

标签: laravelvalidation

解决方案


尝试使用 Rule 类和“存在”验证:

use Illuminate\Validation\Rule;

'email' => [
        'required',
        'string',
         Rule::exists('your_table')->where(function ($query) {
            $query->where('active', 1);
        }),
    ]

推荐阅读