Вы можете использовать следующие правила в дате. Вы можете указать минимальную дату, которую пользователь может ввести. Таким образом, результат проверки будет принят, если пользователь вводит дату после минимальной даты.
Пример
$input = array('date_field' => '23/12/2');
$minDate = '01/01/67';
$validation_rules = array('date_field' => 'required|date_format:d/m/y|after:' . $minDate);
$validation = Validator::make($input, $validation_rules);
echo ($validation->fails()) ? 'fail' : 'pass';
Другим решением, которое вы должны написать пользовательские проверки для проверки ввода даты или месяц пользователь больше, чем что-то.
Пример пользовательских проверки для проверки месяца
Validator::extend('maxMonth', function($field,$value,$parameters){
$value = explode("/", $value);
if($value[1] < 13) {
$value[1] = true;
}
else {
$value[1] = false;
}
return $value[1];
});
Route::get('/date', function()
{
$input = array('date_field' => '33/12/68');
$validation_rules = array('date_field' => 'required|date_format:d/m/y|maxMonth');
$messages = array(
'maxMonth'=>'Please enter month between 01-12'
);
$validation = Validator::make($input, $validation_rules, $messages);
if($validation->passes()){
// Do something if passes
}else{
// Do something if fails
}
});
поскольку ваша дата значения поля и формат проверка равно, поэтому его передачи. –
Рассматривается ли правильная дата -> 23/12/2 ?? Должна ли цифра года составлять не менее 2 цифр? – Taylor