FormPopulationFilterのもっとも基本的(多分)な使い方
%core.config_dir%/global_filters.xml
<?xml version="1.0" encoding="UTF-8"?> <configurations xmlns="http://agavi.org/agavi/1.0/config"> <configuration> <filters> <filter name="FormPopulationFilter" class="AgaviFormPopulationFilter"> <parameter name="methods"> <parameter>write</parameter> </parameter> <parameter name="error_messages"> <parameter name="./${htmlnsPrefix}div[@class="errors"]"> <parameter name="location">replace</parameter> <parameter name="container"><![CDATA[<ul>${errorMessages}</ul>]]></parameter> <parameter name="markup"><![CDATA[<li>${errorMessage}</li>]]></parameter> </parameter> </parameter> </filter> </filters> </configuration> </configurations>
HTML(たとえばログインフォーム)
<form action="." method="post"> <div class="errors" style="display:none;"></div> <table> <tr> <td><label for="mail_addr">メールアドレス</label></td> <td><input type="text" name="mail_addr" /></td> </tr> <tr> <td><label for="password">パスワード</label></td> <td><input type="password" name="password" /></td> </tr> </table> <p> <input type="submit" value="ログイン" /> </p> </form>
<div class="errors" style="display:none;"></div>
の部分が、
<ul> <li>エラーメッセージ</li> <li>エラーメッセージ</li> <li>...</li> </ul>
といった感じに、エラーメッセージに置換されます(※書く場所はForm要素以下ならどこでも可)。さらに、エラーが起きた要素(inputとか)には class="error" が付加されます。
もうちょっと詳しい情報は、以下よりどうぞ。