[PHP-users 23884] Re: HTML_QuickFormの必須項目について
ISIGE, Akira
xia @ silvia.com
2004年 12月 12日 (日) 16:58:05 JST
いしげ です.
On 2004/12/12 10:16:10 JST,
奥村 <okuran_php_ml @ hotmail.com> wrote:
> PEAR HTML_QuickFormで必須項目には自動的に「*」が付く機能がありますが、
(snip)
> 確か何かのメソッドに「true」か「false」を設定するだけだったと
> 思います。
この true/false 指定による方法についてはわかりませんが
(石毛の見落としでなければ,そのような方法はないと思います).
Renderer として何を使用しているかにもよりますが,
HTML_QuickForm_Renderer_Default を使用しているのであれば,
required ブロックのないテンプレートを設定してやれば期待の動作になります.
こんな↓感じで.
<?php
$form =& new HTML_QuickForm('test');
// 〜〜$form を設定〜〜
$renderer =& $form->defaultRenderer();
$renderer->setElementTemplate(
"\n\t<tr>\n\t\t<td align=\"right\" valign=\"top\">".
"<b>{label}</b></td>\n\t\t<td valign=\"top\" align=\"left\">".
"<!-- BEGIN error --><span style=\"color: #ff0000\">".
"{error}</span><br /><!-- END error -->".
"\t{element}</td>\n\t</tr>"
);
$form->display();
?>
ちなみに上記のテンプレートは,Default レンダラのソースにある
デフォルトのテンプレートから required ブロックを抜き取ったものです.
なお,RequiredNote は「*印は必須入力です」みたいな文のことを指すので,
これを '' に設定しても * が出なくなるわけではありません.
もちろん * を出さないなら RequiredNote も '' にすべきでしょうけども.
--
ISIGE, Akira
PHP-users メーリングリストの案内