Php 为什么Laravel 5.6中的自定义验证不';不行吗?

Php 为什么Laravel 5.6中的自定义验证不';不行吗?,php,laravel,Php,Laravel,我用php artisan make:rule创建了一个自定义规则,在controller中设置它,但它不起作用。问题可能是什么 类CheckDeliveryDate实现规则 { 公共$client_id; 午后是私人美元; 私有$error\u消息; 公共函数构造(int$client\u id) { $this->client\u id=$client\u id; $this->is_after_midday=Carbon::now()->大于(Carbon::now()->midday()

我用php artisan make:rule创建了一个自定义规则,在controller中设置它,但它不起作用。问题可能是什么

类CheckDeliveryDate实现规则
{
公共$client_id;
午后是私人美元;
私有$error\u消息;
公共函数构造(int$client\u id)
{
$this->client\u id=$client\u id;
$this->is_after_midday=Carbon::now()->大于(Carbon::now()->midday());
$this->error_messge='error';
}
公共函数传递($attribute,$value)
{
$delivery_date=Carbon::parse($value);
如果($delivery\u date->isToday()){
$this->error_messge='error';
返回false;
}
如果($delivery\u date->endOfDay()->isPast()){
$this->error_messge='error';
返回false;
}
返回true;
}
公共功能消息()
{
返回$this->错误消息;
}
}
在控制器中,我设置方法规则:

公共功能规则($client\u id)
{
返回[
'订单.*.positions.*.delivery\u time'=>[
“必需”,
“日期”,
新支票交付日期($client\u id)
],
];
}
当我存储订单时,validator->fails()将返回“false”

$validator=validator::make(
$request->all(),
$this->rules($client\u id)
);

我尝试在规则中设置dd或dump,但不起作用。我的错误在哪里?

如laravel文档()所述,您不应该将参数传递给自定义规则实例。拉威尔为你做的

因此:

变成:

new CheckDeliveryDate

祝你今天愉快

如laravel文档()所述,您不应该将参数传递给自定义规则实例。拉威尔为你做的

因此:

变成:

new CheckDeliveryDate

祝你今天愉快

错误的JSON格式日期。这是一个惊人的错误…

错误的JSON格式日期。这是一个惊人的错误…

你确定这是订单。*.positions..*.delivery\u time吗??是的,舒尔。另一个验证是工作。您确定这是订单。*.positions.*.delivery\u time吗??是的,舒尔。另一个验证是工作另一个参数,我删除了它,但它仍然不工作另一个参数,我删除了它,但它仍然不工作