Php 在ZF3中的自定义验证器类中获取表单/字段集元素名称

Php 在ZF3中的自定义验证器类中获取表单/字段集元素名称,php,validation,zend-framework3,Php,Validation,Zend Framework3,我创建了实现validator接口的自定义验证器类。如何获取已验证的字段集或表单的元素名称 我需要在validator类中使用它 我将在类验证器中执行一些验证逻辑,因为我将对所有值使用上下文数组,并区分哪个是当前值。不,您不能。但您可以使用可调用筛选器重新设计您的值。我不知道这样做是否合理。我没有遇到这样的问题。但这里有一个例子 $this->add([ /** other settings **/ "filters" => [ [ "n

我创建了实现validator接口的自定义验证器类。如何获取已验证的字段集或表单的元素名称

我需要在validator类中使用它


我将在类验证器中执行一些验证逻辑,因为我将对所有值使用上下文数组,并区分哪个是当前值。

不,您不能。但您可以使用可调用筛选器重新设计您的值。我不知道这样做是否合理。我没有遇到这样的问题。但这里有一个例子

$this->add([
   /** other settings **/
   "filters" => [
       [
          "name" => \Zend\Filter\Callable::class,
          "options" => ["callback" => function($value){
                return "fieldset-x:".$value;
          }]
       ]
   ],
   "validators" => [
      [
         "name" => \Zend\Validator\Callable::class,
         "options" => ["callback" => function($value){
              /** algorithm: split via ":". first element is freamwork **/
         }]
      ]
   ]
])

我使用可调用过滤器和验证器来实现is。您可能想编写自己的过滤器/验证器。

我理解您的想法。这很聪明。我的目标不是为几个表单元素创建一个单独的验证器类。另一个想法是创建一个fat抽象验证器类,并让它继承特殊的验证器类,这些类对于每个表单元素都是唯一的。我保证这会是个狗屎坑。我认为您应该编写单独的验证器。我不知道。。我受了很多这种懒惰的行为。我现在做的每件事都是我现在必须做的: