TOP比較データ> 入力値チェック
徹底比較!! PHP & Java 〜 フレームワーク編
徹底比較!! PHP & Java 〜 フレームワーク編

第7回:StrutsとMojaviの今、そして未来
著者:ワイズノット  土橋 芳孝   2006/5/29
前のページ  1  2   3  4  次のページ
入力値チェック

   次に入力値チェックについて解説します。

   Webアプリケーションフレームワークにおける重要な仕組みの1つに入力値チェック(バリデーションともいいます)があります。

   ユーザによって画面から入力される値には、正常な値もあれば異常な値もあります。場合によっては悪意をもって意図的に異常な値が入力されることもあるでしょう。それらの入力値を画面から受け取った直後に入力値チェックを行い異常な値を検出することは、堅牢なWebアプリケーションを実現する上で必須といえます。

   それでは、StrutsとMojaviそれぞれの入力値チェックの仕組みについて見ていきましょう。

   Strutsでは入力値チェックの定義をvalidation.xmlというXMLファイルによって行い、エラーメッセージの定義をMessageResources.propertiesというプロパティファイルによって行っています。一方Mojaviの入力値チェックとエラーメッセージの定義は、Login.iniというテキストファイルで行います。
Strutsにおける入力値チェックの定義(validation.xmlの抜粋)
<form-validation>
   <formset>
      <form name="loginForm">
         <field
            property="id"
            depends="required">
            <arg position="0" key="loginForm.id" />
         </field>
         <field
            property="password"
            depends="required">
            <arg position="0" key="loginForm.password" />
         </field>
      </form>
   </formset>
</form-validation>

Strutsにおけるエラーメッセージの定義(MessageResources.properties)
errors.header=
errors.prefix=
errors.suffix=<BR>
errors.footer=

errors.required={0}を入力してください
errors.login=正しい値を入力してください

loginForm.id=ログインID
loginForm.password=パスワード

Mojaviにおける入力値チェックとエラーメッセージの定義(Login.ini)
[methods]
get = ""
post = "id,password"

[names]
id.required = "Yes"
id.required_msg = "ログインIDを入力してください"
password.required = "Yes"
password.required_msg = "パスワードを入力してください"

[others]
login.error = "正しい値を入力してください"

   StrutsではXMLによって入力値チェックの設定を行うため、画面遷移制御の場合と同様、Struts自体に独自のカスタマイズを行ったとしても、validation.xmlのスキーマ定義を変更し、設定項目を改造することで柔軟に対応できるといったメリットがあります。

   またStrutsでは入力値チェックの定義とエラーメッセージの定義を別々のファイルで行っているため、それぞれの独立性が高まり入力値チェックの定義とエラーメッセージの定義が再利用しやすいものとなっています。

   一方Mojaviの入力値チェックとエラーメッセージの定義は、シンプルなテキストファイルのみで実現されています。入力値チェックの定義とエラーメッセージの関連が直感的でわかりやすいため、Webアプリケーションの仕様変更に迅速に対応しやすいといったメリットがあります。

前のページ  1  2   3  4  次のページ


ワイズノット 土橋 芳孝
著者プロフィール
株式会社ワイズノット  土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。


INDEX
第7回:StrutsとMojaviの今、そして未来
  これまでのまとめ
入力値チェック
  例外処理
  Strutsの今後