File: /var/www/api.ayokah.co.uk/app/Providers/AppServiceProvider.php
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Validator;
class AppServiceProvider extends ServiceProvider
{
public function register(): void
{
//
}
public function boot(): void
{
Validator::extend('valid_password', function ($attribute, $value, $parameters, $validator) {
if (strlen($value) < 8) {
return false;
}
if (!preg_match('/[A-Z]/', $value)) {
return false;
}
if (!preg_match('/[0-9]/', $value)) {
return false;
}
if (!preg_match('/[!@#$%^&*(),.?":{}|<>]/', $value)) {
return false;
}
return true;
}, 'Password must be at least 8 characters long, contain at least 1 uppercase letter, 1 number, and 1 special character.');
Validator::extend('valid_email_domain', function ($attribute, $value, $parameters, $validator) {
$allowedDomains = ['gmail.com', 'yahoo.com','yahoo.co.uk', 'hotmail.com', 'outlook.com', 'ymail'];
$domain = substr(strrchr($value, "@"), 1);
return in_array($domain, $allowedDomains);
}, 'The :attribute is not verifiable, please try again with different email address.');
}
}