我尝试将Illuminate \ Validation用作独立库,但由于唯一规则而失败。错误为:未捕获的RuntimeException:未设置状态验证程序。 这是我的代码:
b
答案 0 :(得分:0)
尝试一下:::
$this->validate($request,
['email' => 'required|exists:users,email'],
['email.exists' => 'You are not registered User. Please register.']
);
用户 =您的表名
电子邮件 =您的表格字段名称
答案 1 :(得分:0)
unique
规则旨在检查该值在数据库中是否唯一。验证器检查数据库中“唯一性”的方式是使用“状态验证器”。您没有提供任何状态验证器,所以这就是您看到此错误的原因。要提供状态验证器,您需要添加此额外的代码
$presenceVerifier = new MyPresenceVerifier();
$factory->setPresenceVerifier($presenceVerifier);
其中MyPresenceVerifier
是\Illuminate\Validation\PresenceVerifierInterface
合同的实现。由于您将验证程序用作独立库,因此您将需要为所使用的任何数据库创建自己的状态验证程序实现。您可以在官方的Laravel存储库中找到实现示例: