Как проверить пользовательский ввод в laravel - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть столбец ввода с именем 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 голосов
/ 08 февраля 2019

использование проверочных фасадов: 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);
        }
    }
}
0 голосов
/ 08 февраля 2019

Проверьте валидацию: здесь .

Например:

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

Если вы хотите проверить, заполнен ли ввод, вы можете сделать это:

$request->filled('address')

в вашем случае:

  if(!$request->filled('address')){
    return response()->json(['message'=>'no data','success'=>0]);
  }
0 голосов
/ 08 февраля 2019

Использовать laravel Validation, для получения дополнительной информации оформить заказ laravel doc ссылка

$validator = Validator::make($request->all(), [
    'address' => 'required'
]);
if ($validator->fails()) {
    return response()->json(['error' => $validator->errors()->first()], 422);
}
0 голосов
/ 08 февраля 2019

Вы можете использовать функцию empty , которая будет возвращать FALSE, если var существует и имеет непустое, ненулевое значение.В противном случае возвращает TRUE.Это подразумевает следующие условия, которые рассматриваются как пустые:

  • "" (пустая строка)
  • 0 (0 в виде целого числа)
  • 0.0 (0 в виде числа с плавающей запятой))
  • "0" (0 в виде строки)
  • NULL
  • FALSE
  • array () (пустой массив)

Фрагмент для справки:

$address = $request->input('address');
if(empty($address)){
    return response()->json(['message' => 'no data','success' => 0]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...