标签: zend-form

Zend控制器中的url()辅助函数的等价物

在Zend视图助手中,有用于根据路由表输出URL的函数url(),例如

$this->url(array('controller' => 'comments', 'action' => 'add')
Run Code Online (Sandbox Code Playgroud)

如何在控制器中执行相同的操作?特别是我想使用控制器/动作语法而不是标准URL来设置Zend表单的动作URL

$form = new Zend_Form;
$form->setMethod('post')->setAction( $this->url(array('controller' => 'comments', 'action' => 'add')) );
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form

13
推荐指数
1
解决办法
3万
查看次数

Zend Form:在表单验证后添加错误消息

如何在表单已经过验证后向Zend Form元素添加错误消息?

我正在尝试添加我得到的错误消息Zend_Auth(现在我正在使用flashMessenger显示它们).

我试过这样的事情:

$form->getElement('username')->addErrorMessage('my message');
Run Code Online (Sandbox Code Playgroud)

php validation zend-framework zend-form

13
推荐指数
2
解决办法
2万
查看次数

从Zend_Form获取错误消息并以json的形式响应

我正在尝试从Zend_Form获取错误消息并将响应作为json.获取Zend_Form错误并以json回复的最佳做法是什么?

<?

class SomeController extends Zend_Controller_Action {

    public function indexAction() {

        $form = new Application_SomeForm();
        if ($form->isValid( $this->getRequest()->getPost() )) {
            //do something here
        }       
        $this->_helper->json($form->getErrorMessages());

    }

}
Run Code Online (Sandbox Code Playgroud)

我无法通过$form->getErrorMessages()错误获得错误,但如果经过测试则会出现错误print_r($form->gerErrors())

Array
(
    [email] => Array
        (
            [0] => isEmpty
        )

    [password] => Array
        (
            [0] => isEmpty
        )

    [foreign] => Array
        (
        )

    [login] => Array
        (
        )

)
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:

a)如何获取表单的所有错误消息?

b)是否有任何Json Wrapper用于处理ajax提交的表格?例如$jsonResponse->setErrorStatus()->addFormErrors($form)

php ajax json zend-framework zend-form

13
推荐指数
1
解决办法
1万
查看次数

将类属性添加到表单错误

我正在使用Zend Framework 2开发一个应用程序,并使用FormRow帮助器在表单中呈现标签,输入和错误(如果存在).

//within the view
echo $this->formRow($form->get('Name'));
Run Code Online (Sandbox Code Playgroud)

当用户提交表单而不填写所需的输入文本字段FormRow呈现它时出现以下错误消息:

<label>
    <span>Name: </span>
    <input class="input-error" type="text" value="" placeholder="Insert Name Here" name="Name">
</label>
<ul>
    <li>Value is required and can't be empty</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何设置li标签的类以便在之后设置样式?

我知道我可以使用所需的类属性来回显formElementErrors ..

<?php echo $this->formElementErrors($form->get("Name"), array('class' => "valuerequired", 'message' => "errortestmessage")); ?>
Run Code Online (Sandbox Code Playgroud)

..但FormRow仍然会在没有类的情况下呈现错误消息.

仅供参考我以这种方式设置实体:

public function getInputFilter()
    {
        if (!$this->inputFilter) {
            $inputFilter = new InputFilter();

            $factory = new InputFactory();

            $inputFilter->add($factory->createInput(array(
                'name'     => 'Name',
                'required' => true,
                'filters'  => array(
                    array('name' => 'StripTags'),
                    array('name' …
Run Code Online (Sandbox Code Playgroud)

css php zend-form zend-framework2

13
推荐指数
2
解决办法
8152
查看次数

通过Annotation Builder在Zend Framework 2表单中填充关系数据

目前,我有文章和标签表.我试图自动填充"标签"表单元素作为文章表单上的选择框.从数据库表中设置标签选择框的值选项的最佳方法是什么,然后让文章在"绑定"方法调用期间自动绑定标签数据?

Article.php

<?php
// Article class
class Article {
    /**
     * 
     * @var \Doctrine\Common\Collections\Collection|Tag[]
     * 
     * @ORM\ManyToMany(targetEntity="Tag", inversedBy="articles")
     * @Orm\JoinTable(name="rel_article_tag", joinColumns={@ORM\JoinColumn(name="article_id", referencedColumnName="article_id")}, inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="tag_id")})
     * 
     * @Form\Required(false)
     * @Form\Type("Zend\Form\Element\Select")
     * @Form\Options({"label":"Tags: ")
     * @Form\Attributes({"id":"tags", "data-placeholder":"Choose tags...", "multiple" : "multiple", "class" : "chosen-select"})
     */
    private $tags;

    public function __construct()
    {
        $this->tags = new ArrayCollection();
    }

    public function getTags()
    {
        return $this->tags;
    }

    public function addTags($tags)
    {
        $this->tags = $tags;
    }

    public function removeTags()
    {
        $this->tags = new ArrayCollection();
    }
}
Run Code Online (Sandbox Code Playgroud)

ArticleController.php …

php zend-form zend-form-element doctrine-orm zend-framework2

13
推荐指数
1
解决办法
622
查看次数

如何在ZF中呈现Form元素时删除dd和dt html元素?

我在我的视图中渲染了一个Zend_Form_Element_Select.

$t=new Zend_Form_Element_Select(....);
...
...
echo $t->render();
Run Code Online (Sandbox Code Playgroud)

我得到了正确的下拉和选项,但我也得到了包含的select元素

<dt> </dt>
<dd>[elm]</dd>
Run Code Online (Sandbox Code Playgroud)

如何删除该装饰器?

php zend-framework zend-form

12
推荐指数
1
解决办法
1万
查看次数

如何以zend格式验证密码字段?

在我的表单中,我试图验证用户两次都填写相同的值(以确保他们没有犯错).我认为这Zend_Validate_Identical是为了什么,但我不太确定如何使用它.这是我到目前为止所得到的:

$this->addElement('password', 'password', array(
        'label'      => 'Password:',
        'required'   => true,
        'validators' => array(
            'Identical' => array(What do I put here?)
        )
    ));
$this->addElement('password', 'verifypassword', array(
        'label'      => 'Verify Password:',
        'required'   => true,
        'validators' => array(
            'Identical' => array(What do I put here?)
        )
    ));
Run Code Online (Sandbox Code Playgroud)

我需要两个元素吗?我在阵列中放了什么?

zend-framework zend-form

12
推荐指数
2
解决办法
2万
查看次数

Zend表单setRequired(true)或addValidator(NotEmpty)

这些行为或输出之间是否有任何真正的区别.他们看起来像他们做同样的事情.

->addValidator('NotEmpty')   

->setRequired(true)
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form

12
推荐指数
1
解决办法
1万
查看次数

常规错误:1366 Doctrine 2.1和Zend Form更新时的整数值不正确

我正在处理提交的Zend表单,该表单使用以下代码更新Doctrine Record,其中$ query是使用doctrine查询构建器构建的查询:

$record_array = $query->getResult();
$this->_record = $record_array[0];
if($this->getRequest()->isPost())
    {
        if ($this->_form->isValid($this->_request->getPost()))
        {
            $newEntity = $this->_form->update($this->_record);
            $this->_em->flush(); 
            $this->view->success = 'Record Saved.';
        } else {
            $this->view->errors = $this->_form->getErrors();
        }        
    }
Run Code Online (Sandbox Code Playgroud)

如果记录中没有整数,则上述工作正常,即只有字符串.但是,如果我在表单中包含在doctrine实体中映射为整数的字段,我会得到上面的错误.

任何帮助,将不胜感激.

更新:

/**
 * @var integer $solicitorid
 *
 * @Column(name="SolicitorID", type="integer", nullable=false)
 * @Id
 * @GeneratedValue(strategy="IDENTITY")
 */
private $solicitorid;

/**
 * @var string $solicitor
 *
 * @Column(name="Solicitor", type="string", length=160, nullable=true)
 */
private $solicitor;

/**
 * @var string $address
 *
 * @Column(name="Address", type="string", length=160, nullable=true)
 */
private $address;

/**
 * …
Run Code Online (Sandbox Code Playgroud)

php mysql zend-framework zend-form doctrine-orm

12
推荐指数
1
解决办法
9075
查看次数

ZendFramework - 如何使用视图助手创建optgroup和选项?

如何用$ this-> formSelect()创建它?

<select multiple>
    <optgroup label="a">
       <option>1</option> 
       <option>2</option>
    </optgroup>
    <optgroup label="b">
       <option>1</option> 
    </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

php zend-framework zend-form

12
推荐指数
2
解决办法
8243
查看次数