表结构:
users: id - email - active
我只想在active
为0时检查重复的电子邮件。
对于所有电子邮件,我都这样做:
'email' => 'required|unique:users|email',
是否可以在验证中定义条件?
答案 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
,因为您的原始问题中没有任何内容被忽略。但是,如果要在更新和创建时都进行此验证,则可能需要考虑这一点。