0

簡単な質問ですが、Zend_Form の検証には JavaScript が必要ですか? JS がオフになっているとどうなるかというと、たとえば通常の PHP 検証にフォールバックしますか。

初心者の質問で申し訳ありませんが、ドキュメントには何も見つかりません。

乾杯。

編集:

これは私のフォームです:

class Application_Form_Test extends Zend_Form {
    public function init() {}
    public function testForm() {
        $email = $this->createElement('text', 'email');
        $email->setLabel('E-Mail Address');
        $email->setRequired(true);
        $email->addFilter('StripTags');
        $email->addErrorMessage('an email address is required');
        $email->addValidator('NotEmpty', true);
        $email->addValidator('EmailAddress');

        $submit = $this->createElement('submit', 'submit', array('label'=>'Submit'));
        $this->addElements(
            array(
                $email, $submit
            )
        );
        return $this;
    }
}

これが私のコントローラーです:

class testController extends Zend_Controller_Action {
    public function init() {
        /* Initialize action controller here */
        if(!Zend_Auth::getInstance()->hasIdentity()) {  
            $this->_redirect('login/index');  
        }
        $this->_acl = new MyAcl(Zend_Auth::getInstance()->getIdentity());               
    }
    public function indexAction() {
        $form = new Application_Form_Test();
        $form = $form->testForm();
        $form->setAction('/dev/public/test/update')->setMethod('post');
        $this->view->form = $form;
    }
    public function updateAction() {
        $form = new Application_Form_Test();
        if($this->getRequest()->isPost()){
            $formData = $this->_request->getPost();
            if($form->isValid($_POST)){
                die('i seem to be valid....');
            }
            else{
                die(var_dump($_POST));
            }
        }   
    }
}

検証に失敗しているようです。何か案は?

4

1 に答える 1

2

いいえ、Zend_Form バリデーター (次のようなフォーム要素に addValidator を使用して追加するフィルターを検証することを意味します。

 $element->addValidator ( new Zend_Validate_StringLength ( array ('max' => 5 ) ));

すべてサーバー側で処理されます。したがって、javascript について心配する必要はありません。

必要に応じて、クライアント側に JavaScript バリデーターを追加して、サーバーに戻るのを避けることができますが、それは別のことです。

于 2011-07-04T10:16:56.910 に答える