Laravel验证-检查活动重复的电子邮件

时间:2018-11-15 16:36:32

标签: php laravel laravel-5 laravel-validation

表结构:

users: id  - email - active

我只想在active为0时检查重复的电子邮件。

对于所有电子邮件,我都这样做:

'email' => 'required|unique:users|email',

是否可以在验证中定义条件?

2 个答案:

答案 0 :(得分:3)

使用验证程序闭包怎么办?

export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'

答案 1 :(得分:0)

unique规则具有以下参数:

  

table [,column [,忽略值[,忽略列[,where column,where value] ...]]]

所以这样的事情应该起作用:

'email' => 'required|unique:users,email,null,null,active,0|email',

我将ignore列和值设置为null,因为您的原始问题中没有任何内容被忽略。但是,如果要在更新和创建时都进行此验证,则可能需要考虑这一点。