如果在视图中需要表单元素,则显示zend框架2

时间:2014-07-15 10:02:58

标签: php validation zend-framework2 zend-form

在我看来,我想添加一条消息来指示是否需要表单元素。我正在使用inputFilter设置验证选项,这些选项一切正常,但在发布表单之前我无法找到任何方式在视图中访问这些选项(在我可以访问消息之后)。

$this->add(array(
                    'name'     => 'title',
                    'required' => true,
                    'filters'  => array(
                            array('name' => 'StripTags'),
                            array('name' => 'StringTrim'),
                    ),
                    'validators' => array(
                            array(
                            'name' =>'NotEmpty', 
                                'options' => array(
                                    'messages' => array(
                                        \Zend\Validator\NotEmpty::IS_EMPTY => 'Please enter a title (e.g \'Property\')' 
                                    ),
                                ),
                            ),
                            array(
                                    'name'    => 'StringLength',
                                    'options' => array(
                                            'encoding' => 'UTF-8',
                                    ),
                            ),
                    ),
            ));   

1 个答案:

答案 0 :(得分:0)

在你看来应该是这样的:

$form->getInputFilter()->get("fieldName")->isRequired();

$form->getInputFilter()->get("fieldName")->getRequired();

我不记得了

解决方法:

您可以设置所需的属性(我认为您已经完成了此操作),然后添加一个将附加消息的小jquery,如下所示:

$(document).ready(function (){
     $("*:required")
        //Optional add red boder--
        .css('border','1px solid #FF0000');
        //--Optional add red boder
           .closest('label')
                  .append('<br /><span><?= $this->translate('This field is mandatory') ?></span>');
});

不幸的是我可以重现你的问题,也许如果你发布控制器代码我可以看到是否有其他错误。