Php Laravel用雄辩的问题更新数据库?
我似乎对eloquent的validator方法返回与它应该返回的相反的结果有意见 这是我的验证调用,它应该会失败,因为电子邮件是重复的,名字只有1个字符,而最低要求是2个字符Php Laravel用雄辩的问题更新数据库?,php,validation,laravel,Php,Validation,Laravel,我似乎对eloquent的validator方法返回与它应该返回的相反的结果有意见 这是我的验证调用,它应该会失败,因为电子邮件是重复的,名字只有1个字符,而最低要求是2个字符 // Handle the submission of changed user details. public function put_settings() { $id = Input::get('id'); $validation = Account::validate(Input::all())
// Handle the submission of changed user details.
public function put_settings()
{
$id = Input::get('id');
$validation = Account::validate(Input::all());
if($validation->fails())
{
return Redirect::to_route('settings')->with_errors($validation)->with_input();
}
else
{
Account::update($id, array(
'first_name' => Input::get('first_name'),
'last_name' => Input::get('last_name'),
'email' => Input::get('email')
));
return Redirect::to_route('settings');
}
}
以下是我的验证程序方法和验证规则(位于我的模型中):
为什么要更新我的数据库,即使验证失败。尝试了fails()和passes()方法,但它们似乎做了与实际相反的事情。有什么想法吗?您是否尝试过调试输入并查看实际提交的内容 此外,您可能希望检查auth.php,查看是否已选择电子邮件作为用户的用户名。这样,如果您调用
unique:users
,则Laravel
将查看电子邮件列,而不是用户名列
public static function validate($data)
{
$rules = array(
'first_name' => 'required|min:2|max:80',
'last_name' => 'required|min:2|max:80',
'email' => 'required|min:5|max:180|unique:users',
);
return Validator::make($data, $rules);
}