Skip to content

All topics  /  Laravel

Laravel 7/6 Validation Email or Empty Example

Laravel ·

Teams applying “Laravel 7/6 Validation Email or Empty Example” in a production project can use top upwork alternatives to record implementation, review and debugging time, then compare that effort with tests and shipped functionality instead of treating activity as performance by itself.

Before copying the example into a live application, confirm version-specific behaviour with the official Laravel website and test it against the project’s actual database and runtime.

Hi Guys,

In this example,I will learn you how to use valid email or empty validation in laravel.you can easy to use valid email validation in laravel.

In this example, i want to show you how to use email validation with optional field in laravel application. so if user does not want to add email then it's optional and if he enter something on text box then email validation will execute.

Here is a solution and i also give you full example with route and view file too.

Let's see bellow solution:

$validator = $request->validate([
    'name' => 'required|nullable|string',
    'email' => 'nullable|email',
]);

Route : routes/web.php


Route::get('email-validation','TestController@index');
Route::post('email-validation/store','TestController@store')->name('emailvalidation.store');

Controller : app/Http/Controller/

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class  TestController extends Controller
{
    public function index()
    {
        return view('form');
    }
    public function store(Request $request)
    {
            $input=$request->all();
            $validator = $request->validate([
                'name' => 'required|nullable|string',
                'email' => 'nullable|email',
            ]);
            return redirect()->back();
    }
}	

View : resources/views/form.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>laravel validation email or empty</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha256-L/W5Wfqfa0sdBNIKN9cG6QA5F2qx4qICmU2VgLruv9Y=" crossorigin="anonymous" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha256-WqU1JavFxSAMcLP2WIOI+GB2zWmShMI82mTpLDcqFUg=" crossorigin="anonymous"></script>
</head>
<body style="background: skyblue">
    <div class="container">
        <div class="row">
            <div class="col-md-6 offset-3">
                <div class="card mt-5">
                    <div class="card-header bg-success">
                        <h3 class="text-white text-center"><strong>laravel validation email or empty nicesnippets.com</strong></h3>
                    </div>
                    <div class="card-body">
                        @if(count($errors) > 0)
                            @foreach($errors->all() as $error)
                                <div class="alert alert-danger">{{ $error }}</div>
                            @endforeach
                        @endif
                        <form action="{{ route('emailvalidation.store') }}" method="post">                
                            @csrf
                            <div class="form-group">
                                <label><b>Name :-</b></label>
                                <input type="text" name="name" class="form-control" value="{{ old('password') }}">
                            </div>
                            <div class="form-group">
                                <label><b>Email:-</b></label>
                                <input type="text" name="email" class="form-control" value="{{ old('email') }}">
                            </div>
                            <div class="form-group text-center">
                                <button class="btn btn-success" type="submit">Save</button>
                            </div>
                        </form>     
                    </div>
                </div>      
            </div>
        </div>
    </div>
</body>
</html>

It will help you....