0

Zend でカスタム バリデータを作成したいと考えています。

たとえば私のコードの場合:

$txt_state = new Zend_Form_Element_Text('state');
$txt_state->setLabel('State');

$txt_prop = new Zend_Form_Element_Text('pin');
$txt_prop->setLabel('Property');

これら 2 つの要素の少なくとも 1 つが空でない場合にのみ、フォームを送信する必要があります。

4

2 に答える 2

1

あなたはこのように汚い方法でそれを行うことができます:

if ($this->getRequest()->isPost()) {
    if (is_empty($form->getElement('state')->getValue())) {
        $form->getElement('pin')->setRequired();
    }
    if (is_empty($form->getElement('pin')->getValue())) {
        $form->getElement('state')->setRequired();
    }

   if ($form->isValid()) {
     //redirect to success page 
   } else {
    //do nothing, display errors messages, refill form 
   }
}

または拡張Zend_Form_Elementを使用したクリーナー。

于 2012-11-09T08:21:11.093 に答える