如何验证必须在相对于Laravel 51中的模型的另外两个日期内的日期数组


How to validate array of date that have to be inside two other date relative to a model in Laravel 51

我正在使用boostrap日期选择器,并激活了"多个日期"选项。我的dates看起来像这样:[date1, date2, ...]

我还使用了一个隐藏的输入来检索一个"id"。这个"id"帮助我在模型中检索"startdate"answers"enddate"。

因此,我正在寻找一个验证规则,它可以告诉我我的日期是否有效,以及它们是否在与我的模型的"id"对应的另外两个日期内。

目前,我的iddates规则如下:

$rules = [
    'id' => 'required|numeric|exists:event,id,isactive,1',
    'dates' => 'array'
]

您可以用类似的非常简单的方式来完成此操作

以下是有关前后编写规则的文档

protected $rules = array(
    'afterdate' => 'after:'.$yourDateForm,
    'beforedate' => 'before:'.$yourDateTo 
);

注意:

你也应该像这个一样延长你的日期验证

'start_date' => 'required|date|after:tomorrow'
'finish_date' => 'required|date|after:start_date'

更新:

由于OP希望从数据库获取日期,

你应该喜欢这个

$yourStartDate = Call to get Start Date from Table;
$yourEndDate = Call to get End Date from Table;

规则应为

$validator = Validator::make(
    array('date' => $yourStartDate),
    array('date' => 'after:'.$yourEndDate)
);