Symfony 3.4Assert可选的验证回调不工作

avwztpqn  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(87)

我在Assert\Optional中放置了一个回调函数,但当我在Optional之外放置时,它没有被调用。它确实被调用,但如果选项参数不在请求中,我会得到字段遗漏错误。我想要的是,如果该参数在请求中,则应将其传递给回调进行自定义验证,如果不是,则不应生成缺少字段的错误。
下面是我正在尝试的代码,但它没有按预期工作。

"list_id"=>[
                new Assert\Optional(
                    new Assert\NotBlank(
                        ['message'=>$this->translator->trans("required")
                    
                        ]
                    ),
                    new  Assert\Type(['integer',
                        'message' => $this->translator->trans("integer")
            
                    ]),
                    new Assert\Callback([$this, 'validateList']),
                ),
            
                
            ],

字符串
我尝试添加可选的字段验证与自定义验证回调

b5buobof

b5buobof1#

"list_id"=>[
            new Assert\Optional(
            
                new Assert\Callback([$this, 'validateList']),
            ),
        
            
        ],

字符串
如果我删除了其他验证,回调函数会工作,并且在字段不在请求数据中的情况下,我不会得到缺少字段的错误。

相关问题