Laravel自定义验证器

Laravel自定义验证器,laravel,validation,Laravel,Validation,我有一个表单,用户将只发布一个电子邮件地址。我想通过以下方式验证此输入: 如果该电子邮件存在于表中,则特定列的。 is_有效数据必须为空 如果电子邮件不存在,则应进行验证 我已经找到了第一个条件的解决方案,但找不到任何东西可以将两者结合起来 第一个条件是我的解决方案: Rule::exists('table_name')->where(function ($query) { $query->where('is_valid', null); }); 如何为这两种情况编写规则?

我有一个表单,用户将只发布一个电子邮件地址。我想通过以下方式验证此输入:

如果该电子邮件存在于表中,则特定列的。 is_有效数据必须为空

如果电子邮件不存在,则应进行验证

我已经找到了第一个条件的解决方案,但找不到任何东西可以将两者结合起来

第一个条件是我的解决方案:

Rule::exists('table_name')->where(function ($query) {
    $query->where('is_valid', null);
});

如何为这两种情况编写规则?

为此,您可以使用类似规则的内容:

上述条件应同时满足您的两个条件,即:


电子邮件根本不存在,或者当“有效”不为空时它就不存在。

我已经编辑了我的问题,请现在检查。@Rwd我已经找到了第一个条件的解决方案,但找不到任何可以将这两个条件结合起来的方法。对于第一个条件,我的解决方案->规则::exists'table_name'->wherefunction$query{$query->where'is_valid',null;}不起作用,where子句中的条件不正确。我使用了whereNotNull而不是where,now起作用。@MdYeamin对不起,你说得对,我有点疏忽。我已经更新了我的答案:。
Rule::unique('table_name', 'email')->whereNotNull('is_valid');