Laravel 7/6 Validation Email or Phone
Teams applying “Laravel 7/6 Validation Email or Phone” in a production project can use this reference page 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.
Jan 20, 2020
Hi Dev,
Today, I will share you how to validate email or phone number validation in laravel application. You will use this validation then The email field is required when mobile no is not present.The mobile no field is required when email is not present.
In this validation The field under validation must be present and not empty only when any of the other specified fields are not present.
You will enter phone number then email is optional and email in enter email then phone number is optional.
Here is a solution and i also give you full example with route and view file too. Let's see bellow solution :
$request->validate([
'name' => 'required',
'email' => 'required_without:mobile_no',
'mobile_no' => 'required_without:email'
]);
Route: routes/web.php
Route::get('emailOrmobile','FrontHomeController@emailOrmobile');
Route::post('emailOrmobile','FrontHomeController@storeEmailOrmobile')->name('emailOrmobile.store');
Controller : app/Http/controllers/FrontHomeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FrontHomeController extends Controller
{
public function emailOrmobile()
{
return view('validation.emailOrmobile');
}
public function storeEmailOrmobile(Request $request)
{
$request->validate([
'name' => 'required',
'email' => 'required_without:mobile_no',
'mobile_no' => 'required_without:email'
]);
return redirect()->back();
}
}
View : resources/views/validation/emailOrMobile.blade.php
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" integrity="sha256-NuCn4IvuZXdBaFKJOAcsU2Q3ZpwbdFisd5dux4jkQ5w=" crossorigin="anonymous" />
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6 offset-3">
<div class="card mt-5">
<div class="card-header text-center bg-info">
<h3 class="text-white"> <strong>Eamil Or Phone Validation Nicesnippets.com</strong></h3>
</div>
<div class="card-body">
@if (count($errors) > 0)
<ul class="alert alert-danger">
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
<form action="{{ route('emailOrmobile.store') }}" method="post">
@csrf
<div class="form-group">
<label>Name : </label>
<input type="text" name="name" class="form-control">
</div>
<div class="form-group">
<div class="row">
<div class="col-md-6">
<label>Email : <span class="text-danger">**</span></label>
<input type="text" name="email" class="form-control" placeholder="Enter Email">
</div>
<div class="col-md-6">
<label>Phone : <span class="text-danger">**</span></label>
<input type="text" name="mobile_no" class="form-control" placeholder="Enter Mobile Number">
</div>
</div>
</div>
<div class="text-center">
<button class="btn btn-success"><i class="fa fa-floppy-o" aria-hidden="true"></i> Save </button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
It will help you...
- How to Notifications With database Driver in Laravel 11?
- How to Send Email Via Notification in Laravel 11?
- How to Install and Configure Laravel 11 Debugbar?
- How to Like Dislike System in Laravel 11?
- How to Paginate a Model with Relationship in Laravel 11?
- Laravel 11 Upload Files to Amazon S3 Example
- Laravel 11 Send WhatsApp Messages Example
- Laravel 11 Rest API Authentication Using JWT Tutorial