私は Zend Framework を初めて使用します。フォームに 2 つの Zend_Form_Element_Text があり、そのいずれかをユーザーが入力できるようにしたいという質問があります。
たとえば、電話番号と携帯電話番号です。続行するには、それらのいずれかを入力するだけで済みます。
どうすればいいですか?ありがとう
私は Zend Framework を初めて使用します。フォームに 2 つの Zend_Form_Element_Text があり、そのいずれかをユーザーが入力できるようにしたいという質問があります。
たとえば、電話番号と携帯電話番号です。続行するには、それらのいずれかを入力するだけで済みます。
どうすればいいですか?ありがとう
こんにちは、次のことができると思います。
コントローラー アクションでフォームを初期化する場合は、次のようにしてください。
/**
* 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);
}
}