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