首页 > 解决方案 > 流明验证:数据库中不存在值的规则

问题描述

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

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

所以这是我目前使用的:

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

像这样的东西是我想要的:

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

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

标签: phplaravelvalidationrequestlumen

解决方案


尝试这个:

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

解释:

  • 使用存在规则,我们确保提供的电子邮件必须存在于您的users表格中的列下email
  • 使用唯一规则,我们确保blocklist表中(email列下)不能存在匹配的电子邮件。

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


推荐阅读