Валидатор и пользовательская обработка ошибок в Laravel 8 – методы и примеры

В Laravel 8 вы можете использовать валидаторы и собственные сообщения об ошибках для проверки вводимых пользователем данных и обработки ошибок проверки. Вот несколько методов, которые вы можете использовать, а также примеры кода:

  1. Использование метода validateв контроллере:

    public function store(Request $request)
    {
    $validatedData = $request->validate([
        'name' => 'required|string|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|string|min:8',
    ]);
    // Code to store the data
    }
  2. Использование фасада Validator:

    use Illuminate\Support\Facades\Validator;
    public function store(Request $request)
    {
    $validator = Validator::make($request->all(), [
        'name' => 'required|string|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|string|min:8',
    ]);
    if ($validator->fails()) {
        return redirect()->back()->withErrors($validator)->withInput();
    }
    // Code to store the data
    }
  3. Определение пользовательских сообщений об ошибках:

    public function store(Request $request)
    {
    $rules = [
        'name' => 'required|string|max:255',
        'email' => 'required|email|unique:users',
        'password' => 'required|string|min:8',
    ];
    $messages = [
        'name.required' => 'The name field is required.',
        'email.required' => 'The email field is required.',
        'password.required' => 'The password field is required.',
    ];
    $validator = Validator::make($request->all(), $rules, $messages);
    if ($validator->fails()) {
        return redirect()->back()->withErrors($validator)->withInput();
    }
    // Code to store the data
    }