Rahmat Effendi
Rahmat Effendi

Reputation: 347

How to check user input in laravel

I have a column input named Address, and how to check, if user input like null, 'null' and '' , the return response will be error. I have make it, but it not working.

This is my code:

      $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
        }

Upvotes: 1

Views: 3810

Answers (4)

mare96
mare96

Reputation: 3859

Check out laravel validation: here.

For example:

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

If you want to check if input is filled you can do this:

$request->filled('address')

Check docs for Retriving inputs.

in your case:

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

Upvotes: 6

Shailendra Sharma
Shailendra Sharma

Reputation: 26

You may use the empty function, which would return FALSE if var exists and has a non-empty, non-zero value. Otherwise returns TRUE. This implies the following conditions considered as empty:

  • "" (an empty string)
  • 0 (0 as an integer)
  • 0.0 (0 as a float)
  • "0" (0 as a string)
  • NULL
  • FALSE
  • array() (an empty array)

Snippet for your reference:

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

Upvotes: 1

Saurabh Mistry
Saurabh Mistry

Reputation: 13669

use validation facades : 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);
        }
    }
}

Upvotes: 0

Ravi Gaudani
Ravi Gaudani

Reputation: 186

Use laravel Validation, for more information checkout laravel doc link

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

Upvotes: 1

Related Questions