Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $form->;isValid在Zend_形式中始终为false_Php_Zend Form - Fatal编程技术网

Php $form->;isValid在Zend_形式中始终为false

Php $form->;isValid在Zend_形式中始终为false,php,zend-form,Php,Zend Form,我使用zend_表单中的ViewScript从edit.phtml中的editAction加载内容,但是当用户单击Save按钮而不更改任何内容时,$form->isValid()行始终返回null 看看我所有的代码: php(此代码构建所有组件以编辑.pthml页面) } RegiaoController.php[editAction](此操作链接CadastroRegiao.php和edit.html) 看:当用户不更改任何信息时,此代码总是返回“notisvalid”,只需让原始信息保存即可

我使用zend_表单中的ViewScript从edit.phtml中的editAction加载内容,但是当用户单击Save按钮而不更改任何内容时,$form->isValid()行始终返回null

看看我所有的代码:

php(此代码构建所有组件以编辑.pthml页面)

}

RegiaoController.php[editAction](此操作链接CadastroRegiao.php和edit.html)

看:当用户不更改任何信息时,此代码总是返回“notisvalid”,只需让原始信息保存即可

public function editAction() {

    $model = new Cadastros_Model_Regiao();
    $form = new Cadastros_Form_CadastroRegiao();


    if ($this->_request->isPost()) {                
        if ($form->isValid($this->_request->getPost())) {
            $model->update($form->getValues());
           $this->_redirect('cadastros/regiao');
        }else
            echo "NOT IS VALID";
    } else {
        $regiao = $model->find($this->_getParam('cod_regiao'));
        $form->populate($regiao);
        $this->view->form = $form;
    }
}
最后是my edit.phtml

<div id="tabs">
<ul>
    <li><a href="#tabs-1">Edição de Região</a></li>
</ul>
<div id="tabs-1">
    <div class="msg_aviso">
        <img src="<?= $this->baseUrl(); ?>/css/imagens/close.png" width="16" height="16" title="Clique para fechar" alt="Clique para fechar" class="fechar_aviso" />
        <span class="title">Aviso !</span>
        <p>
            1. Todos os caracteres especiais e acentos presentes no campo <b>Nome</b> serão removidos.<br />
        </p>
    </div>
    <form action="" enctype="multipart/form-data" method="post" name="form_cad_regiao"> 

        <?= $this->form->cod_regiao; ?>
        <?= $this->form->nome; ?><br />
        <br />                   

        <div class="acoes">                
            <?= $this->form->Salvar; ?>
            <?= $this->form->Cancelar; ?>
        </div>

    </form>
</div>   

baseUrl();?>/css/imagens/close.png“width=“16”height=“16”title=“Clique para fechar”alt=“Clique para fechar”class=“fechar_aviso”/ 阿维索! 1.特别是acentos caracteres Todos没有提出任何要求。



而不是

echo "NOT IS VALID";


正如你所说的,我改为打印了。看看显示的内容:数组([cod_regiao]=>Array()[nome]=>Array([0]=>recordFound)[Salvar]=>Array()[Cancelar]=>Array())我看不懂,因为它是另一种语言,但我假设它说一条记录不存在。去掉这行:->addValidator(新的Zend_Validate\u Db\u NoRecordExists('regiao','nome'))是的,这就是问题所在。新的Zend_Validate_Db_NoRecordExists行正在执行此操作,但是为什么不在表单中显示有关此操作的任何错误呢?在我的新操作中,当用户让输入为空时出现错误:“您必须填写此字段”。尝试,$nome->setDecorators(数组('ViewHelper','Errors'));我在做:$this->setElementDecorators(数组('ViewHelper',数组('Errors',数组('class'=>'erroValidacao')),'Description','Label');
<div id="tabs">
<ul>
    <li><a href="#tabs-1">Edição de Região</a></li>
</ul>
<div id="tabs-1">
    <div class="msg_aviso">
        <img src="<?= $this->baseUrl(); ?>/css/imagens/close.png" width="16" height="16" title="Clique para fechar" alt="Clique para fechar" class="fechar_aviso" />
        <span class="title">Aviso !</span>
        <p>
            1. Todos os caracteres especiais e acentos presentes no campo <b>Nome</b> serão removidos.<br />
        </p>
    </div>
    <form action="" enctype="multipart/form-data" method="post" name="form_cad_regiao"> 

        <?= $this->form->cod_regiao; ?>
        <?= $this->form->nome; ?><br />
        <br />                   

        <div class="acoes">                
            <?= $this->form->Salvar; ?>
            <?= $this->form->Cancelar; ?>
        </div>

    </form>
</div>   
echo "NOT IS VALID";
print_r($form->getErrors());