Laravel验证同样不按预期工作

时间:2016-02-23 23:53:08

标签: php laravel laravel-5 laravel-validation

我正在Laravel写一个请求验证器,我有以下条件。要检查给出的密码是否相同,这将失败,并显示密码不相同的消息,即使密码相同。

'password1' => 'string',
'password2' => 'string|same: password1'

如果我禁用了验证并dd(Input::only('password1','password2'));,它将打印出以下内容。

array:2 [
    "password1" => "123"
    "password2" => "123"
]

为什么same验证不起作用?

1 个答案:

答案 0 :(得分:2)

您的问题是验证规则中的空格。您的输入中没有名为[space]password1的字段,因此验证失败。而不是same: password1,它应该是same:password1

'password1' => 'string',
'password2' => 'string|same:password1'

通常使用confirmed验证进行密码确认的另一种方法。通常,您有password字段和password_confirmation字段,然后confirmed验证将验证您的password输入是否具有来自*_confirmation字段的匹配输入。

'password' => 'string|confirmed',
'password_confirmation' => 'string',