检查 laravel 中验证是否失败

新手上路,请多包涵

我想知道使用这种代码编写的验证何时失败(我使用的是 laravel 5.4

 $this->validate($request, [
    'name' => 'required|min:2|max:255'
]);

我知道我可以使用这个:

 $validator = Validator::make($request->all(), [
    'name' => 'required|min:2|max:255'
]);

if ($validator->fails()) { //Not okay }

但我想通过使用 $this->validate 而不是使用 Validator 模型来保持这种验证方式。

所以……是否可以使用类似的东西:

 //This is not working btw

$test = $this->validate($request, [
    'name' => 'required|min:2|max:255'
]);

if( $test )
{ //Ok }
else
{ //Not okay };

原文由 Atnaize 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 255
2 个回答

你可以像这样使用它:

 $request->validate($rules);

或者

$request->validate([
    'name' => 'required|min:2|max:255'
]);

然后它返回错误。

 $test = $request->validate([
           'name' => 'required|min:2|max:255'
        ]);

你需要检查是否没有错误然后你可以做任何你想做的事。

在您的情况下,您需要这样做:

 $validator = Validator::make($request->all(), [
    'name' => 'required|min:2|max:255'
]);

if ($validator->fails()) {
    return view('view_name');
} else {
    return view('view_name');
}

原文由 lewis4u 发布,翻译遵循 CC BY-SA 3.0 许可协议

try{

$validateData = Validator::make($request->all(),
[
'name' => 'required|string|min:2|max:255,
]);

if($validateData->fails()){

            return response()->json([
            'status' => false,
            'message' => 'validation error',
            'errors' => $validateData->errors()
        ], 401);

$user = User::create([
'name'=>$request->name
]);

return response()->json([
      'message' => 'User created Successfuly',
      'user' => $user
    ],200);
}

catch(Throwable $th){
         return response()->json([
                    'message' => $th->getMessage()
                ], 500);
            }

原文由 Snake MAGIC 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏