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


How to validate two fields in controllers in zf2

我在表单中有两个字段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;
  }

是的,我得到了这个问题的解决方案。

控制器内

试试这个

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;
    }