formの配列長が可変長だったっ場合、普通に作ると
メアド入力欄
メアドを正しく入力してください。
となるところを
メアド入力欄
メアドを正しく入力してください。
メアドを正しく入力してください。
のように、どの配列インデックスで間違いがあったか分かるようにする為、次のような応急処置。
メアド入力欄
となるところを
メアド入力欄
のように、どの配列インデックスで間違いがあったか分かるようにする為、次のような応急処置。
class APPID_ActionForm extends Ethna_ActionForm で
さらに、checkMailaddress を改造して
オリジナルの checkMailaddress はエラーがあれば配列の途中で return するところを
エラー発生したインデックス全てのフォーム定義に 'error'=true をセット。
実は、テンプレートでフォーム定義の内容を参照するため
class APPID_ViewClass extends Ethna_ViewClass で
としているので、例えば $formDef['meil']['name']等として「メアド」を動的に表示している。
従って、$formDef['meil']['error'] で、フォーム配列のどのインデックスでエラーがあったかを判別できる。
本当は、フォームオブジェクトを配列前提でカスタマイズすべきところかもしれない。
もちろん、配列数の要件が変ることなく 数が少なければ
と書きまくってもよい。
Ethna 2.5 から扱える多次元配列でも可変長配列については上記状況は同じ。