我有一个名为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
}
答案 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。这意味着以下条件被认为是空的:
摘要供您参考:
$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);
}
}
}