我们经常会用到一个boolean字段来确定用户是否已经停用,比如
...
$table->boolean('enabled')->default(true);
...
admin_users.enabled 字段,为0时表示已禁用.
最简单的办法是可以使用exists验证规则,通过添加对比对字段(username),同时对比的字段添加where条件enabled必须 等于1(true)时,那么如果当enabled等于0(false),则不会找到这个字段,所以会报一个错误 “选定的 用户名 字段是无效的.”
然后再覆盖这个消息,‘exists’ => ‘该用户已停用!’
$credentials = $request->only(['username', 'password']);
$validator = Validator::make($credentials, [
'username' => 'required|string|exists:admin_users,username,enabled,1',
'password' => 'required|string',
], [
'exists' => '该用户已停用!',
]);
如果使用了验证码(本例使用的是"mews/captcha")
$credentials = $request->only(['username' 'password', 'captcha']);
$validator = Validator::make($credentials, [
'username' => 'required|stri