- PR -

Validatorチェックを解除したい

1
投稿者投稿内容
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2007-01-17 22:19
JSPから入力するユーザ名に対してValidatorによる必須チェックをしていたのですが、
Validatorではなくビジネスロジック内でチェックを行うことにしました。

そこで、validationの機能自体がいらなくなったのでvalidation.xmlそのものを削除し、
struts-config.xmlからValidatorPlugInに関する箇所を削除して実行したら、
ブラウザに

 HTTPステータス 500 -
  java.lang.IllegalArgumentException: Resources cannot be null.
   org.apache.commons.validator.Validator.<init>(Validator.java:188)
   org.apache.struts.validator.Resources.initValidator(Resources.java:475)
   org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:104)
   org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:950)
   org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207)
   org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

というエラーが表示されました。
IllegalArgumentExceptionは「不正な引数、または不適切な引数をメソッドに渡した」ことで
発生するとのことですが、validation.xmlを削除したことでどの引数がおかしくなったのかわかりません。
どなたかご存知の方がいましたら、おしえていただけないでしょうか。

validation.xmlは下記のとおりです。
  <?xml version="1.0" encoding="UTF-8"?>
  
  <!DOCTYPE form-validation PUBLIC
   "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
   "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
  
  <form-validation>
   <formset>
  
   <form name="ActionForm01">
  
   <field property="UserName" depends="required">
   <arg0 key="ユーザ名" resource="false" />
   </field>
  
   </form>
  
  
   </formset>
  </form-validation>

使っているツールのバージョンはStruts1.2.9、Tomcat5.0、Eclipse3.2です。
よろしくお願いします。
大ベテラン
会議室デビュー日: 2006/06/28
投稿数: 116
投稿日時: 2007-01-17 23:10
例外トレースにも出力されていますが、
ValidatorFormが使用されているためです。
全てのフォームについてValidatorFormを継承しないよう改めるか
ダミーででもvalidation.xmlなどの設定を残すようにすれば回避できるでしょう。
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2007-01-18 20:31
仰るとおり、アクションフォームでValidatorFormを継承していました。
validation.xmlを下記のように修正したらエラーがなくなりました。
ありがとうございました。


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">

<form-validation />
1

スキルアップ/キャリアアップ(JOB@IT)