phphp.net – Log/2005-01-09/MSQD: Mojavi と QF 組み合わせについてちょこっと
どちらの方法も有りだと思いますが、QF 定義は Action に直接書いちゃう派が多いように思えたのでちょっとログってみました。
なるほど。
こんな感じでしょうか。
define("FORM_DIR", BASE_DIR."opt/form/");
class FormHandler {
function factory($formName) {
include(FORM_DIR.$formName.".php");
$f =& new $formName;
return $f->execute();
}
}
class UserRegistForm {
function execute() {
$form = new HTML_QuickForm('UserRegist', 'post');
$form->addElement('text', 'userName', 'ユーザー名');
$form->addElement('text', 'password', 'パスワード');
$form->addElement('text', 'eMail', 'E-mail');
$form->addElement('hidden', 'module', 'UserRegist');
$form->addElement('hidden', 'action', 'Input');
$form->addElement('reset', 'reset', 'リセット');
$form->addElement('submit', 'submit', '確認');
$form->setJsWarnings("入力内容に誤りがあります。", "");
$form->addRule('userName', 'メンバ名は必須です。', 'required', '', 'client');
$form->addRule('userName', 'メンバ名10文字までです。', 'maxlength', 10, 'client');
$form->addRule('password', 'パスワードは必須です。', 'required', '', 'client');
$form->addRule('eMail', 'E-Mailは必須です。', 'required', '', 'client');
return $form;
}
}
Actionの方。
$form =& FormHandler::factory("UserRegistForm");
MojaviはXMLとかなるべく設定ファイル作らないようにしてる気がするのでそれに合わせてみました。(個人的には設定ファイル派)
業務でビシビシMojavi使ってる人々に「普通こうだろ」っていうのを聞きたいです。