Использование Validation функции в Laravel: проверка и обработка входных данных

Чтобы проверить и обработать входные данные из форм с помощью validation функции в Laravel, выполните следующие действия.

 

Определить Validation правила

Начните с определения validation правил для полей формы. Laravel предоставляет различные validation правила, которые можно использовать для обеспечения целостности и достоверности данных.

public function store(Request $request)  
{  
    $validatedData = $request->validate([  
        'name' => 'required|max:255',  
        'email' => 'required|email|unique:users|max:255',  
        'password' => 'required|min:8',  
    ]);  
  
    // Process the validated data  
    $user = User::create([  
        'name' => $validatedData['name'],  
        'email' => $validatedData['email'],  
        'password' => Hash::make($validatedData['password']),  
    ]);  
  
    // Redirect to a success page or perform other actions  
    return redirect()->route('users.index')->with('success', 'User created successfully.');  
}  

В приведенном выше примере мы определяем validation правила для полей имени, электронной почты и пароля. Правило required гарантирует, что поля не пусты, email правило проверяет формат электронной почты, unique:users правило проверяет, является ли электронная почта уникальной в users  таблице, а правила max и min  определяют максимальную и минимальную длину поля пароля.

 

Обработка Validation результатов

Laravel Функция 's validation автоматически выполняет validation на основе определенных правил. В случае validation сбоя Laravel пользователь будет перенаправлен обратно в форму с соответствующими сообщениями об ошибках. Вы можете получить эти сообщения об ошибках в своем представлении, чтобы отобразить их пользователю.

<!-- Display validation errors -->  
@if($errors->any())  
    <div class="alert alert-danger">  
        <ul>  
            @foreach($errors->all() as $error)  
                <li>{{ $error }}</li>  
            @endforeach  
        </ul>  
    </div>  
@endif  
  
<!-- Create user form -->  
<form method="POST" action="{{ route('users.store') }}">  
    @csrf  
    <input type="text" name="name" placeholder="Name" value="{{ old('name') }}">  
    <input type="email" name="email" placeholder="Email" value="{{ old('email') }}">  
    <input type="password" name="password" placeholder="Password">  
    <button type="submit">Create User</button>  
</form>  

В приведенном выше коде мы проверяем наличие validation ошибок и отображаем их в окне предупреждения. Функция old() используется для повторного заполнения полей формы ранее введенными значениями, если произошла ошибка validation.

 

Следуя этому примеру, вы можете проверять и обрабатывать входные данные из форм, используя validation функцию в Laravel. Это гарантирует, что данные соответствуют заданным вами правилам, и помогает поддерживать целостность данных в вашем приложении.