好的,所以我有一个表单,它要求用户:-
- 他们出生的日期(0-31等)
- 他们出生的月份(1月-12月)
- 他们出生的年份
然后我用进行验证
$rules = array(
'???' => 'required:date'
);
$validator = Validator::make($data, $rules);
但我不知道我可以在哪里/做什么来将日期、月份、年份放入我可以放入验证的内容中,无论是在视图中还是在验证过程中。
谢谢,Tom
如果您想使用链接的验证规则,您的日期需要以Laravel的日期分析器能够识别的格式(dd-mm-yyyy、dd/mm/yy、yyyy-mm-dd等)作为单个字段输入,因此在这种情况下,您的表单应该真正包含一个名为"日期"的文本字段。
如果它是三个独立的字段,那么在它们接近验证器之前,您需要将它们转换为一个字段。可能是这样的:
$rules = [
'name' => ['required'],
'email' => ['required', 'email'],
'date' => ['required', 'date'],
];
// transform date from three separate fields to yyyy-mm-dd
// TODO: ensure the things are zero-padded maybe?
$date = Input::get('year').'-'.Input::get('month').'-'.Input::get('day');
$v = Validator::make(
Input::only('name', 'email') + ['date' => $date],
$rules
);