在 ZF3 中获取自定义验证器 class 中的 form/fieldset 元素名称

Get form/fieldset element name inside custom validator class in ZF3

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

我在验证器中需要这个 class。

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

不,你不能。但是您可以使用可调用过滤器来 re-design 您的价值。我不知道这样做是否合理。我没有遇到这样的问题。但这里有一个例子

$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 **/
         }]
      ]
   ]
])

我使用callable过滤器和验证器来做。你可能想写你自己的 filter/validator.