有些事情我不明白。 将输入传递给控制器时,我使用laravel进行验证,例如:
$this->validate($request, [
'user_id' => 'required',
'post_id' => 'required',
'body' => 'required'
]);
现在重点是,在插入数据库之前是否必须先创建一个条件?如果是这样怎么样?我的意思是(伪代码)
if data is validated { store in DB }
或validate
会得到一切,只要找到错误就停止?
答案 0 :(得分:0)
如果验证失败,错误将被推送到会话中,用户将被重定向到previus位置。
如果验证顺利,将执行$this->validate(...)
之后的代码。
答案 1 :(得分:0)
试试这个:
// define rules
$rules = array(
'user_id' => 'required',
'post_id' => 'required',
'body' => 'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
// something
// return Redirect::back()
// ->withErrors($validator) // send back all errors to the login form
// ->withInput();
}
else
{
// something
$data->save(); // save your data
}