入力値検証(validation)機能をつける anchor.png

xCCKが備えている入力値検証の機能は、全くないといっていいほど貧弱です。
入力値検証が必要な場合は、デリゲートを使って実装してください。

第一引数に Xcck_PageEditFormオブジェクトが渡されますので、get() メソッドでhtmlフォームに対する入力値を取得できます。
モジュールディレクトリの情報が必要な場合は、$form->mDirname で取得できます。

サンプルプリロード:Validate.class.php

class Score_Validate extends XCube_ActionFilter
{
   /**
    * @public
    */
   public function preBlockFilter()
   {
       $this->mRoot->mDelegateManager->add('Xcck.Event.ValidateRegisterForm', array(&$this, 'validate'));
   }

   /**
    * validate score count
    * 
    * @param	Xcck_PageEditForm &$form
    * 
    * @return	bool
   **/
   public function validate(Xcck_PageEditForm &$form)
   {
       $ourscore = explode(' ', $form->get('ourscore'));
       $oppositionscore = explode(' ', $form->get('oppositionscore'));
       if(count($ourscore)!==count($oppositionscore)){
           $form->addErrorMessage('両チームのスコアの回数が違っています。回数を合わせてください。');
       }
   }
}

Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 2342, today: 1, yesterday: 3
Princeps date: 2011-08-26 (Fri) 18:41:37
Last-modified: 2011-08-26 (Fri) 18:41:37 (JST) (2860d) by admin