注册前验证数据库表中的用户名-LARAVEL
我试图验证每个将注册的用户的用户名/员工号码是否存在于主列表中 如果不存在,将显示错误。如果存在,注册将进入另一个验证 控制器:注册前验证数据库表中的用户名-LARAVEL,laravel,validation,authentication,Laravel,Validation,Authentication,我试图验证每个将注册的用户的用户名/员工号码是否存在于主列表中 如果不存在,将显示错误。如果存在,注册将进入另一个验证 控制器: return Validator::make( [ 'employeenumber' => 'required|max:9|unique:users|alpha_dash|exists:masterlist', 'name'
return Validator::make(
[
'employeenumber' => 'required|max:9|unique:users|alpha_dash|exists:masterlist',
'name' => 'required',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|max:30|confirmed',
'password_confirmation' => 'required|same:password',
],
[
'employeenumber.exists' => trans('auth.EmployeeNumberNull'),
'employeenumber.unique' => trans('auth.EmployeeNumber'),
'employeenumber.required' => trans('auth.EmployeeNumberRequired'),
'name.required' => trans('auth.AccNameRequired'),
'email.required' => trans('auth.emailRequired'),
'email.email' => trans('auth.emailInvalid'),
'password.required' => trans('auth.passwordRequired'),
'password.min' => trans('auth.PasswordMin'),
'password.max' => trans('auth.PasswordMax'),
]
错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'employeenumber' in 'where clause' (SQL: select count(*) as aggregate from `employees` where `employeenumber` = 03-444555) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22):
注册数据库中不存在的员工编号时,我收到服务器错误,而不是抛出错误。我找到了解决方案,应在验证中说明该列
'employeenumber'=>'必需|最大值:9 |唯一:用户|字母破折号|存在:主列表',
应该是
'employeenumber'=>'必填项|最大值:9 |唯一:用户|字母破折号|存在:主列表,employeenumber',
您可以阅读有关如何在stackoverflow中提问的内容。请指出错误,我已经编辑过了。谢谢employeenumber
您的数据库中不存在此字段。请尝试再次检查您的数据库或查询中是否有输入错误。请查找错误,谢谢。