2016-05-11 9 views
1

フォームにselectbox1とselectebox2という2つのフィールドがあり、同じ値を持たないことを検証したいと思います。それらが同じ値を持っていれば、エラーメッセージとともにフォームに戻ります。私はその検証を行うことができません。コントローラーでzf2のコントローラで2つのフィールドを検証する方法

$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; 
    } 
+0

を作ります/modules/zend.validator.identical.html – KiwiJuicer

+0

は、検証のために追加したコードを表示します –

+0

これは同一のものですが、私はUnIdenticalにしたいのですがどうすれば取得できますか? @KiwiJuicer –

答えて

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

を試してみて、あなたはZF2バリデータhttp://framework.zend.com/manual/current/enを使用することができます別の関数

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