2013-01-04 55 views
1

我已經查看了API,但似乎無法找到:Zend 2中Zend\Form\Element->addError($message)的等價物是什麼?或者,我將如何完成同樣的事情?zend 2中addError的等價物?

我有一個註冊字段,其中用戶名必須是唯一的,所以我在等待數據庫拋出異常,然後標記用戶名字段。

回答

1
$formElement->setMessges(array(
    'errorMessageKey' => 'Something strange happened, slap the admin!' 
)); 
+0

我怎麼會掀起有效標誌?它似乎刪除以前的消息或擦除(取決於是否首先調用表單驗證或setMessage) – Raekye

+0

您使用了什麼驗證程序? – Sam

+0

我只是在做隨機測試 - 像setMessages(array('random message'))和調試變量。所以我會有一個StringLength驗證器,如果我在設置消息後進行驗證,則消息不會顯示。如果我設置了消息,但StringLength通過,則isValid爲true。但是我想添加一條錯誤消息,並引發有效標誌(這可以通過zend 1中的addError輕鬆完成) – Raekye

1

我這樣做是爲了檢查電子郵件是否存在或不在控制器中。

$postedarray = $form->getData(); 
$usersnameexist = $this->getUsersTable()->ISuseravailable($postedarray['email']); 
if($usersnameexist) 
{ 
    return array(
     'form' => $form, 
     'errorMsg'=> 'Username already available please use other Username'); 
} 

然後在視圖文件

<?php echo $this->formRow($form->get('email'));?> 
<?php if($this->errorMsg) { ?> 
    <ul> 
      <li><?php echo $this->errorMsg; ?></li> 
    </ul> 
<?php 
} 
?>