как сделать поле ввода даты больше или равно другому полю даты, используя валидацию в laravel

Привет, я разрабатываю приложение с использованием laravel, есть ли способ сделать поле ввода даты больше или равно другому полю даты с помощью проверки.

Я знаю, что я могу достичь этого через jquery, и у меня уже есть эта работа, но я хочу знать, насколько это возможно с помощью проверки laravel, поскольку laravel имеет некоторые предопределенные проверки.

Например

protected $validationRules = array ( 'a' => 'date', 'b' => 'date|(some validation so that the b value is greater than or equal to that of 'a')' ); 

РЕДАКТИРОВАТЬ

Если есть какой-либо другой подход для решения проблемы с использованием концепции laravel, пожалуйста, скажите мне

Я пытался

 Validator::extend('val_date', function ($attribute,$value,$parameters) { return preg_match("between [start date] and DateAdd("d", 1, [end date])",$value); }); 

заранее спасибо

Solutions Collecting From Web of "как сделать поле ввода даты больше или равно другому полю даты, используя валидацию в laravel"

У меня такая же проблема. before и after не работает, когда даты могут быть одинаковыми. Вот мое короткое решение:

 // 5.1 or newer Validator::extend('before_or_equal', function($attribute, $value, $parameters, $validator) { return strtotime($validator->getData()[$parameters[0]]) >= strtotime($value); }); // 5.0 & 4.2 Validator::extend('before_or_equal', function($attribute, $value, $parameters) { return strtotime(Input::get($parameters[0])) >= strtotime($value); }); 

 $rules = array( 'start'=>'required|date|before_or_equal:stop', 'stop'=>'required|date', ); 

EDIT: Laravel 5.3.25 и более поздние версии имеют новые встроенные правила: before_or_equal и after_or_equal

Ответ Эмиля Аспмана правильный, но он не работает для Laravel 5.2. это решение работает для Laravel 5.2:

  Validator::extend('before_equal', function($attribute, $value, $parameters, $validator) { return strtotime($validator->getData()[$parameters[0]]) >= strtotime($value); }); 

Правильное решение было бы, если бы вы расширили Validator своим собственным правилом. Простой пример из документов:

 Validator::extend('foo', function($attribute, $value, $parameters) { return $value == 'foo'; }); 

Подробнее здесь

Да, вы можете использовать after:date или before:date :

 protected $rules = array( 'date' => 'after:'.$yourDate ); 

или альтернативно

 protected $rules = array( 'date' => 'before:'.$yourDate ); 

Он будет делать то, что вы описали. Также ознакомьтесь с официальной документацией . Вы также можете указать собственные правила, используя специальные правила проверки .