Laravel同样的验证者

时间:2015-01-22 05:42:01

标签: php laravel

我的情况是更改密码选项。我已在对象$pass中拥有当前密码。我想针对文本框输入current_password验证此$pass以继续为用户创建新密码。如何使用相同的验证器进行验证。对不起,我是laravel的新手。

$rules = array('password_current' => "required|same:$pass");

不起作用。

2 个答案:

答案 0 :(得分:6)

因为same:用于确保当前字段的值与规则参数(非对象)定义的另一个字段相同。所以你不能使用这个函数来看看下面这个例子的代码。

$data = Input::all();
$rules = array(
    'email' => 'required|same:old_email',
);

上面的代码将检查当前的电子邮件字段是否与old_email字段相同。 所以我认为你可以简单,如果没有其他

句柄控制器函数中的

假设

public function handleCheck(){

$current_password = Input::get('current_password');
$pass = //your object pass;
if($current_password == $pass){
  // password correct , show change password form
}else{
 //  password incorrect , show error
}
}

让我知道它是否有效。见Laravel Validation same

答案 1 :(得分:1)

如果您已经在$pass中存储了密码,只需在请求中注入$ pass,然后将其字段用于例如

$request->request->add(['password_old' => $pass]);

然后,您可以像验证它

$rules = array('password_current' => "required|same:password_old");