如何在zf2中验证控制器中的两个字段

时间:2016-05-11 10:50:15

标签: php zend-framework

我在表单中有两个字段selectbox1和selectebox2,我想验证它们没有相同的值。如果它们具有相同的值,则返回表单并显示错误消息。我无法进行验证。

在控制器中:

$know_lang = $form->get('language_help')->getValue();
$need_lang = $form->get('language_need')->getValue();

 if($know_lang == $need_lang){
    $form->get('language_need')->setMessages(array('Please Select different language'));
   return false;
  }

1 个答案:

答案 0 :(得分:0)

是的,我得到了解决方案。

在控制器

试试这个

try {
     $this->checkEmailExist($need_lang,$know_lang);
     } catch (\Exception $e) {
        $form->setMessages(array(
                         'language_help' => array($e->getMessage())
                     ));
       return new ViewModel(array(
       'form' => $form
      ));
    }

并制作另一项功能

public function checkEmailExist($email){
        // Your Db Query
        if($row) {
            throw new \Exception("Email already exist");
        }
        return true;
    }