如何验证必须在 Laravel 51 中相对于模型的另外两个日期内的日期数组
How to validate array of date that have to be inside two other date relative to a model in Laravel 51
我正在使用 boostrap-datepicker,并激活了 "multiple-date" 选项。
我的 dates
看起来像这样:[date1, date2, ...]
.
我还使用隐藏输入来检索 "id"。这个 "id" 帮助我在我的模型中检索 "startdate" 和 "enddate"。
所以我正在寻找一个验证规则,它可以告诉我我的日期是否有效以及它们是否在对应于我模型的 "id" 的其他两个日期内。
现在我的 id
和 dates
规则是这样的:
$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)
);
我正在使用 boostrap-datepicker,并激活了 "multiple-date" 选项。
我的 dates
看起来像这样:[date1, date2, ...]
.
我还使用隐藏输入来检索 "id"。这个 "id" 帮助我在我的模型中检索 "startdate" 和 "enddate"。
所以我正在寻找一个验证规则,它可以告诉我我的日期是否有效以及它们是否在对应于我模型的 "id" 的其他两个日期内。
现在我的 id
和 dates
规则是这样的:
$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)
);