如何检查laravel

时间:2019-02-08 09:49:26

标签: php laravel laravel-5

我有一个名为Address的列输入,以及如何检查,如果用户输入如null,'null'和'',则返回响应将是错误的。我已经做到了,但是没有用。

这是我的代码:

      $address = $request->input('address');
        if ($address == null) 
        {
            return response()->json(['message'=>'no data','success'=>0]);
        }
        elseif($address == '')
        {
            return response()->json(['message'=>'no data','success'=>0]);
        }
        elseif($address == 'null')
        {
            return response()->json(['message'=>'no data','success'=>0]);
        }
        else 
         //process
        }

4 个答案:

答案 0 :(得分:4)

查看laravel验证:here

例如:

$request->validate([
     'address' => 'required'
])

如果要检查输入是否已填充,可以执行以下操作:

$request->filled('address')

根据您的情况:

  if(!$request->filled('address')){
    return response()->json(['message'=>'no data','success'=>0]);
  }

答案 1 :(得分:1)

您可以使用 empty 函数,如果var存在且具有非空,非零值,则该函数将返回FALSE。否则返回TRUE。这意味着以下条件被认为是空的:

  • “”(空字符串)
  • 0(0为整数)
  • 0.0(浮点数为0)
  • “ 0”(0作为字符串)
  • NULL
  • array()(一个空数组)

摘要供您参考:

$address = $request->input('address');
if(empty($address)){
    return response()->json(['message' => 'no data','success' => 0]);
}

答案 2 :(得分:1)

使用laravel验证,有关更多信息,请参见laravel doc link

$validator = Validator::make($request->all(), [
    'address' => 'required'
]);
if ($validator->fails()) {
    return response()->json(['error' => $validator->errors()->first()], 422);
}

答案 3 :(得分:0)

使用验证外观:https://laravel.com/docs/5.7/validation

use Illuminate\Support\Facades\Validator;

public function MyFunction(Request $request){
  try {
            $validator = Validator::make($request->all(), [
                    'address' => 'required',
                ]
            );

            if ($validator->fails()) {
                $response=array('status'=>'error','errors'=>implode(',', $validator->errors()->all()));
                return response()->json($response, 400);
            }else{

                  // validation success                   

            }

 } catch (\Exception $e) {
            $response=array('status'=>'error','result'=>0,'errors'=>'Internal Server Error');
            return response()->json($response, 500);
        }
    }
}