1

私は Zend Framework を初めて使用します。フォームに 2 つの Zend_Form_Element_Text があり、そのいずれかをユーザーが入力できるようにしたいという質問があります。

たとえば、電話番号と携帯電話番号です。続行するには、それらのいずれかを入力するだけで済みます。

どうすればいいですか?ありがとう

4

1 に答える 1

0

こんにちは、次のことができると思います。

コントローラー アクションでフォームを初期化する場合は、次のようにしてください。

/**
 * IndexAction
 *
 * @return void
 */
public function indexAction() {

    // initalize your form
    $form = new MyForm();

    // get post data
    $post = $this->_request->getPost();

    // check if phone number is empty

    if (! empty($post['phone_number'])) {

        // remove validator from mobile phone element
        $mobile = $form->getElement('mobile');
        $mobile->removeValidator('notEmpty');
        $mobile->setRequired(false);
    }

    if ($form->isValid($this->getRequest()->getPost())) {
        $input = $form->getValues();

        // do something with the input
        print_r($input, true);
    }
}
于 2009-09-30T05:33:52.763 に答える