gpt4 book ai didi

php - 在 Zend Form 方面需要帮助

转载 作者:可可西里 更新时间:2023-11-01 00:26:28 25 4
gpt4 key购买 nike

我目前正在创建一个 zend 表单状态下拉菜单,让用户更新他们的状态。

所有状态值都来自数据库。使用 getProviderQuoteStatus($providerId,$quoteId,$quoteStatusId) 方法确定用户可用的状态。

我目前面临的问题是表单何时通过验证过程。

我不断收到 '1' was not found in the haystack(因为状态值是在 Controller 中填充的,而不是在表单本身中,因此 providerQuoteStatus 表单元素数组为空)。谁能帮我解决这个问题?

提前致谢!

  private function getProviderQuoteStatusForm()
{

$form = new Application_Form_ProviderQuoteStatus(array(
'action' => '/leads/update-Provider-Quote-Status'
,'method' => 'post',
));

return $form;
}

private function getProviderQuoteStatus($providerId,$quoteId,$quoteStatusId)
{

$form = $this->getProviderQuoteStatusForm();

$providerQuoteStatus = new Application_Model_DbTable_ProviderQuoteStatus();
$providerQuoteStatusValues = $providerQuoteStatus->
getProviderQuoteStatusUpdateValues ($quoteStatusId);

$form->getElement('providerQuoteStatus')->addMultiOptions($providerQuoteStatusValues);
$form->getElement('providerQuoteStatus')->setValue($quoteStatusId);
$form->getElement('quoteId')->setValue($quoteId); // set Quote Id to the hidden field
return $form;
}





public function updateProviderQuoteStatusAction()
{

$form = $this->getProviderQuoteStatusForm(); // Status Update dropdown box
$this->view->form = $form;

if ($this->getRequest()->isPost())
{ // is post type request has been made
$formData = $this->getRequest()->getPost();


if ($form->isValid($formData))
{ // form elements has been validated

$quoteId = $form->getValue('quoteId');
$providerQuoteStatus = $form->getValue('providerQuoteStatus');
$this->_helper->redirector('lead'); // redirect back
// $this->_forward('leads');
}
$form->populate($formData);

}
}

最佳答案

取自Zend Website :

默认情况下,此元素注册一个 InArray 验证器,该验证器根据已注册选项的数组键进行验证。您可以通过调用 setRegisterInArrayValidator(false) 或将 FALSE 值传递给 registerInArrayValidator 配置键来禁用此行为。

我以前遇到过这个问题,禁用这个默认验证器就可以解决问题。

关于php - 在 Zend Form 方面需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5460695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com