Laravel 验证登录表单验证在密码确认中失败?
Posted
技术标签:
【中文标题】Laravel 验证登录表单验证在密码确认中失败?【英文标题】:Laravel Validation Login form validation fails in Password confimation? 【发布时间】:2014-11-18 18:57:58 【问题描述】:我有两种表单,登录和注册表单,以及一个用户模型,我在 User 类中设置了我的规则和消息,它们是静态成员 $rules 和 $messages,我现在面临的问题是注册表格一切都验证它应该是,但是在登录表格中,在我输入正确的电子邮件和密码后,它给了我“密码确认不匹配”,它不应该因为登录表格中没有 password_confrimation 字段.
UserModel 中的规则和消息
public static $rules = [
'email' => 'required|email',
'password' => 'sometimes|required|confirmed',
'password_confirmation' => 'sometimes|required'
];
public static $messages = [
'email.required' => 'The email is required',
'email.email' => 'the email attribute is not in a email format',
'password.required' => 'the password is required'
];
登录操作
$validateUser = Validator::make($inputs, User::$rules, User::$messages);
$user = new User();
$user->email = $inputs['email'];
$user->password = $inputs['password'];
【问题讨论】:
也许最好为登录和注册定义单独的验证规则?我在我的用户模型中保留注册规则,在我的 SessionsController 中保留登录规则。 【参考方案1】:我在我的项目中确实这样做了
public static $rules = array(
'email' => 'required|email|unique:users,email',
'password' => 'required|min:6',
'repassword' => 'same:password',
'group' => 'exists:groups,id',
'last_name' => 'required',
'first_name' => 'required',
);
试一试。
【讨论】:
它给了我另一个验证错误 密码确认不匹配。存在密码时需要输入密码确认字段。以上是关于Laravel 验证登录表单验证在密码确认中失败?的主要内容,如果未能解决你的问题,请参考以下文章
django登录注册验证之密码包含特殊字符,确认密码一致实现