validation in laravel
enum
'priority' => ['required', 'in:normal,meduim,high'],
integer
'department_id' => 'required|integer',
string
'email' => 'required|email|unique:users',
'title' => ['required', 'min:3'],
'name' => 'required|max:120',
integer
'phone' => 'required|regex:/(01)[0-9]{9}/'
'phone' => 'required|numeric|phone_number|size:11'
'PHONE' => 'required|regex:/(0)[0-9]/|not_regex:/[a-z]/|min:9',
From Laravel 5.5 on you can use an artisan command to create a new Rule which you can code regarding your requirements to decide whether it passes or fail.
Ej: php artisan make:rule PhoneNumber
Then edit app/Rules/PhoneNumber.php, on method passes
/**
* Determine if the validation rule passes.
*
* @param string $attribute
* @param mixed $value
* @return bool
*/
public function passes($attribute, $value)
{
return preg_match('%^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$%i', $value) && strlen($value) >= 10;
}
use App\Rules\PhoneNumber;
$request->validate([
'name' => ['required', new PhoneNumber],
]);