Laravel 10|9|8 Phone Number Validation Example Tutorial

Laravel 10|9|8 Phone Number Validation Example Tutorial

Phone/mobile number validation in laravel 10|9|8; In this tutorial, you will learn how to validate unique, min and max mobile or phone number validation in laravel 10|9|8;

In any laravel form, you have phone or mobile number field. At that time, you need to requirement to add phone number validation in laravel 10|9|8 applications. So this tutorial will guide you step by step how to add mobile or phone number validation in laravel using laravel rule and regex. you can easily use with your controller method.

Additionally, you can find 5 more ways to validate phone or mobile number in laravel apps.

10 Digit Mobile/Phone Number Validation in Laravel 10|9|8

Follow the below steps and implement phone or mobile number validation in laravel 10|9|8 apps:

  • Simple Phone or mobile number validation in Laravel
  • Unique mobile number validation in laravel
  • Some addition ways to validate phone numbers in Laravel

Simple Phone or mobile number validation in Laravel

First of all, Navigate to routes folder and open web.php file. Then update the following routes into web.php file, as follow:

        Route::get('/form',[UserController::class, 'index']);
        Route::post('store',[UserController::class, 'store']);

Next, open your command prompt and run the following command:

php artisan make:controller UserController

This command will create controller named UserController.php file.

So navigate to app\Http\Controllers folder and open UserController.php file. Then update the following methods into it, The following code validate a phone or mobile number in laravel apps:

 namespace App\Http\Controllers;    
use Illuminate\Http\Request;
use App\Models\User;
    
class HomeController extends Controller
{
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('user');
    }
    
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $request->validate([
                'name' => 'required',
                'phone' => 'required|digits:10',
                'email' => 'required|email|unique:users'
            ]);
    
        $input = $request->all();
        $user = User::create($input);
      
        return back()->with('success', 'User added successfully.');
    }

Then, Navigate to resources/views and create new blade view file named user.blade.php and update the following code into it:

<!doctype html>
<html lang="en">
  <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="csrf-token" content="{{ csrf_token() }}">
  <title>Laravel 7 Phone Number Validation Example - Tutsmake.com</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" />
</head>
<body>
<div class="container">
    <h2 style="margin-top: 10px;">Laravel 7 Phone Number Validation Example - Tutsmake.com</h2>
    <br>
    <br>
    @if ($message = Session::get('success'))
    <div class="alert alert-success alert-block">
        <button type="button" class="close" data-dismiss="alert">×</button>
          <strong>{{ $message }}</strong>
    </div>
    <br>
    @endif
  
    <form method="post" action="{{url('store')}}">
      @csrf

      <div class="form-group">
        <label for="formGroupExampleInput">Name</label>
        <input type="text" name="name" class="form-control" id="formGroupExampleInput" placeholder="Please enter name">
        <span class="text-danger">{{ $errors->first('name') }}</span>
      </div>

      <div class="form-group">
        <label for="formGroupExampleInput2">Email</label>
        <input type="email" name="email" class="form-control" id="formGroupExampleInput2" placeholder="Please enter password">
        <span class="text-danger">{{ $errors->first('email') }}</span>
      </div>
          
      <div class="form-group">
        <label for="formGroupExampleInput2">Phone Number</label>
        <input type="text" name="phone" class="form-control" id="formGroupExampleInput2" placeholder="Please enter mobile number">
        <span class="text-danger">{{ $errors->first('phone') }}</span>
      </div>

      <div class="form-group">
       <button type="submit" class="btn btn-success">Submit</button>
      </div>
    </form>
</div>
</body>
</html>

Unique mobile number validation in laravel

To validate a unique mobile or phone number in Laravel 10|9|8, you can use the following code for unique validation:

//To validate a unique mobile number in Laravel, you can use the following code
    $this->validate($request, [
      'phone' => 'required|numeric|unique:users',
    ]);

Some additional ways to validate phone numbers in Laravel

Here are some additional ways to validate unique, numeric, min, max phone or mobile numbers in Laravel, you can use following’s:

    //first solution
    $this->validate($request, [
      'phone' => 'required|digits:10'
    ]);
    
   //second solution
    $this->validate($request, [
        'phone' => 'required|numeric|between:9,11'
    ]);
    
   /third solution
    $this->validate($request, [
        'phone' => 'required|min:10|numeric'
    ]);

    //fourth solution
    $this->validate($request, [
        'phone' => 'required|regex:/(01)[0-9]{9}/'
    ]);
   
    //fifth solution
     $this->validate($request, [
        'phone' => 'required|regex:/^([0-9\s\-\+\(\)]*)$/|min:10'
    ]);

Conclusion

That’s it; you have learned how to validate unique, min and max mobile or phone number validation in laravel 10|9|8;

Recommended Tutorials

AuthorAdmin

My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.

Leave a Reply

Your email address will not be published. Required fields are marked *