流明验证:数据库中不存在值的规则

Posted

技术标签:

【中文标题】流明验证:数据库中不存在值的规则【英文标题】:lumen validation: rule for value not exists in database 【发布时间】:2019-12-24 23:36:07 【问题描述】:

我正在使用 lumen 5.5 并想证明给定值是 requiredexists in table Adoes NOT exist in table B

虽然前两条规则可以在文档中找到,但我无法找到第三条的解决方案。

所以这是我目前使用的:

$rules = [
  'email' => 'required|exists:user,email'
];

我想要的是这样的:

$rules = [
  'email' => 'required|exists:user,email|not_exists:blocklist,email'
];

有人知道一个简单的验证规则吗?

【问题讨论】:

【参考方案1】:

试试这个:

$rules = [
  'email' => 'required|exists:users|unique:blocklist'
];

解释:

使用exists 规则,我们确保提供的电子邮件必须存在于users 表中email 列下。 通过unique 规则,我们确保blocklist 表(email 列下)中不能存在匹配的电子邮件。

在这两种情况下,我都没有指定列名,因为属性名与数据库中的匹配列相同。如果您想自定义它,只需在, 之后包含它。例如:required|exists:users,another_column

【讨论】:

以上是关于流明验证:数据库中不存在值的规则的主要内容,如果未能解决你的问题,请参考以下文章

Laravel bcrypt 密码在流明中不匹配

流明:类 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse 不存在

接口测试需要考虑的一些特殊点

如果源文件中不存在,ssis 添加具有默认值的列

流明自定义验证

JPQL:当数据库中不存在对象时切换/案例