繁体   English   中英

Laravel 5.5版本中的数组验证

[英]Laravel array validation in 5.5 version

验证码

'event' => 'required|array',
'event.*.start_date_time' => 'required|date_format:Y-m-d|after:today',
'event.*.end_date_time' => 'required|date_format:Y-m-d|after:today',
'event.*.description' => 'required|spam_free',

错误讯息代码

if ($messages->has('event')) {
    $fieldId = 'event';
    $errors [] = getErrorMessage($fieldId, $messages->first($fieldId));
}
if ($messages->has('event.*.start_date_time')) {
    $fieldId = 'event.*.start_date_time';
    $errors [] = getErrorMessage($fieldId, $messages->first($fieldId));
}
if ($messages->has('event.*.end_date_time')) {
    $fieldId = 'event.*.end_date_time';
    $errors [] = getErrorMessage($fieldId, $messages->first($fieldId));
}
if ($messages->has('event.*.description')) {
    $fieldId = 'event.*.description';
    $errors [] = getErrorMessage($fieldId, $messages->first($fieldId));
}

错误信息

{
   "fieldld": "event.*.start_date_time",
   "message": "The event.0.start_date_time field is required."
},
{
    "fieldld": "event.*.end_date_time",
    "message": "The event.0.end_date_time field is required."
},
{
    "fieldld": "event.*.description",
    "message": "The event.0.description field is required."
},

数组

event[0].start_date_time:2017-03-22 15:42:22
event[0].end_date_time:2017-03-22 15:42:22
event[0].description:test description

任何人都可以帮助我为什么不验证数组以及为什么我没有得到正确的错误消息。

提前致谢

抱歉,我传递的格式错误。

event[0][start_date_time]:2017-12-12
event[0][end_date_time]:2017-12-12
event[0][description]:asfdsfdsf

对数组使用验证器。

 $validate = Validator::make($data,[
            'start_time' => 'required|after:today',
        ]);

if($validate->fails()){

 return $validate->getMessageBag()->toArray();

}

https://laravel.com/docs/5.5/validation#validating-arrays

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM