我在控制器中使用以下验证:
$request->validate([
'name' => [
'required',
'max:50',
Rule::unique('center_classes')
]
]);
我也尝试了以下内容:
$request->validate([
'name' => [
'required',
'max:50',
Rule::unique('center_classes', 'The class name exist.')
]
]);
我在 validation.php :
中有以下一行'unique' => 'The :attribute has already been taken.',
其余错误正常,但Rule->unique()
是导致Error Server
而不是传递消息的唯一错误。
[HTTP / 1.1 500内部服务器错误287ms]
答案 0 :(得分:0)
您需要手动将验证错误发送到您的代码中
//use first
use Validator;
$response = array('response' => '', 'success'=>false);
$rules = array('name' => 'unique:center_classes,name');
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
$response['response'] = $validator->messages();
}else{
//process the request
}
return response()->json($response);