Чтобы выполнить проверку Laravel времени в формате часов и минут, вы можете использовать различные методы. Вот несколько примеров:
Метод 1: использование правила регулярного выражения
use Illuminate\Validation\Rule;
$rules = [
'time' => ['required', 'regex:/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/'],
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// Handle validation errors
} else {
// Validation passed
}
Метод 2: использование специального правила проверки
use Illuminate\Contracts\Validation\Rule;
class TimeFormatRule implements Rule
{
public function passes($attribute, $value)
{
return preg_match('/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/', $value);
}
public function message()
{
return ':attribute must be in hours and minutes format (HH:MM).';
}
}
$rules = [
'time' => ['required', new TimeFormatRule],
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// Handle validation errors
} else {
// Validation passed
}
Метод 3: использование специального правила проверки с регулярным выражением
use Illuminate\Contracts\Validation\Rule;
class TimeFormatRule implements Rule
{
public function passes($attribute, $value)
{
return preg_match('/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/', $value);
}
public function message()
{
return ':attribute must be in hours and minutes format (HH:MM).';
}
}
$rules = [
'time' => ['required', 'regex:/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/'],
];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
// Handle validation errors
} else {
// Validation passed
}