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

时间:2018-03-08 17:03:06

标签: php validation zend-framework3

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

我需要在验证器类中使用它。

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

1 个答案:

答案 0 :(得分:1)

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

$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过滤器和验证器来做。您可能想要编写自己的过滤器/验证器。