Hello Devs,
In this tutorial, we will learn Laravel Validation not_regex pattern Example
The pattern specified should obey the same formatting required by preg_match and thus also include valid delimiters. For example: 'project_name' => 'not_regex:/(^([a-zA-z]+)(\d+)?$)/u'.
Follow this step-by-step guide below.
solution:
$request->validate([
'project_name' => 'not_regex:/(^([a-zA-z]+)(\d+)?$)/u',
]);
Valid values for project name:
123rathoji
rathorji 123
rath orji
rath orji123
Invalid values for project name:
rathorji123
rathorji
rathorji
Route : routes/web.php
Route::get('blogs','BlogController@index');
Route::post('blogs','BlogController@store')->name('blogs.store');
Controller : app/Http/Controllers/BlogController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Notifications\Notification;
class BlogController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('index');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
"project_name" => "not_regex:/(^([a-zA-z]+)(\d+)?$)/u"
]);
return redirect()->back();
}
}
View : resources/views/index.php
<!DOCTYPE html>
<html>
<head>
<title>From</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha512-MoRNloxbStBcD8z3M/2BmnT+rg4IsMxPkXaGh2zD6LGNNFE80W3onsAhRcMAMrSoyWL9xD7Ert0men7vR8LUZg==" crossorigin="anonymous" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</head>
<body class="bg-dark">
<div class="container">
<div class="row">
<div class="col-md-6 offset-3">
<div class="card mt-5">
<div class="card-header">
<div class="row">
<div class="col-md-9">
Laravel Validation not_regex Pattern Example
</div>
<div class="col-md-3 text-right">
<a href="{{ route('form') }}" class="btn btn-sm btn-outline-primary">Back</a>
</div>
</div>
</div>
<div class="card-body">
@if (count($errors) > 0)
<div class="row">
<div class="col-md-12">
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
@foreach($errors->all() as $error)
{{ $error }} <br>
@endforeach
</div>
</div>
</div>
@endif
<form action="{{ route('from.store') }}" method="post">
@csrf
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Project Name:</label>
<input name="project_name" type="text" class="form-control">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button class="btn btn-block btn-success">Submit</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
May this example help you.