エンタープライズ:特集 2003/11/28 15:30:00 更新


特集:第2回 実用サンプルコードで理解する「Struts」の基礎 (13/15)

Validator機能を利用した入力エラーチェック

 以上で、掲示板の書き込み処理と、掲示板の読み込み処理を実装したことになる。最後に、Strutsにおける入力エラーチェックについて触れておこう。

 Webアプリケーションにおける入力フォームでは、ユーザーが何か入力した際、その書式を調べてエラーチェックしなければならない。そのような場面は極めて多い。例えば、空欄の入力フィールドがあるとか、数値を入力すべき個所に文字が入っているのか? 、特定の文字列数でなければならない個所に範囲を超えた値が入っているか、などさまざまな状況が考えられる。

 これに対しStrutsでは、Validator機能が用意されており、幾つかのクラスを利用することで容易にエラーチェックができる。


Validator機能を使うには、struts-config.xmlファイルのplug-in要素であらかじめプラグインとして設定しておかなければならない。struts-blank.warファイルを展開してできるstruts-config.xmlファイルには、標準でこの設定があるため、ここではその手順を説明しない。plug-in要素では、後述するvalidation.xmlファイルのファイル名の設定もあり、変更すれば、validation.xml以外のファイル名で、検証定義をすることも可能だ。

入力フォーム文字列チェックをValidatorFormクラスで行う

 StrutsのValidator機能は、幾つかのクラスが用意されている。Validator機能として用意されているものの中で、今回はValidatorFormクラスを使う。

 このValidatorFormクラスは、入力フォームに入力されたデータが、特定の書式に合致するかどうかを調べるためのクラスであり、ActionFormの代わりに用いる。

 List 4に示したKeijiWriteFormクラスは、ActionFormクラスのサブクラスとして構成しているものだ。これをValidatorFormクラスから継承するように変更すればよい。具体的には、次に挙げるよう2行目と4行目を変更するだけでよい。

1: package sample.keiji;
2: import org.apache.struts.validator.ValidatorForm;
3:
4: public class KeijiWriteForm extends ValidatorForm
5: 〜以下は、List 4と変わらず〜

前のページ | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 次のページ

[大澤文孝,ITmedia]