0
我想在laravel 5中执行自定义验证,这里是概念。我有一个类别控制器,我想删除一个特定的类别。如果类别包含任何其他子类别,我想在laravel 5中显示验证错误。对于此概念,我创建了该程序,但该程序不执行所需的验证。我得到各种错误,如未找到可变值或未验证未执行或未定义变量:struct。以下是我用来做这件事的代码。Laravel 5如何在Controller中执行验证以检查数据收集中的特定数据
CategroyController destroy function, to delete record.
public function destroy(Request $request)
{
if(\Request::ajax()){
$validator = \Validator::make($request->all(), array());
$data = Configuration::findTreeParent($request->input('id'), 'Category');
$selected = $request->input('id');
foreach($data as $struct) {
$validator->after(function($validator) {
if ($selected == $struct->id) {
$validator->errors()->add('field', $request->input('configname').' cannot be assigned to its child category.');
}
});
}
if ($validator->fails()) {
return $validator->errors()->all();
} else{
return \Response::json(['response' => 200,'msg' => $validator->fails()]);
}
}
}
请看看并帮我解决这个问题。
这是工作,但结果是作为状态代码200返回。它应该返回为ajax错误。 –
因为你在回应中传递了200个状态码。将它更新为422. 422状态码是验证的正确验证码。 – Subash
不,我没有通过任何状态代码。你可以检查以上。我只是简单地检查验证是否失败。如果失败返回所有错误,否则返回json输出。 –