- PR -

errorStyleClass(strutsのタグ)が効かない

1
投稿者投稿内容
もも
ベテラン
会議室デビュー日: 2007/07/01
投稿数: 78
投稿日時: 2007-10-31 18:06
struts1.3.8を使用してWebアプリを作成しています。
今回、ここの掲示板でもよくみかける、「Validatorでチェックするときに目立たせる」ために、errorStyleClassを設定しようと試みました。

ValidatorはValidatorFormのvalidateメソッドを使用して行っています。
現状は、件名にも記載しましたように、Validatorは機能している(=ValidatorFormで設定したメッセージは表示される)のに、errorStyleClassは効いてないようです(背景を赤くするスタイルクラスが設定されない)。
原因が全くわかりません。
どなたか、情報をお持ちの方がいらっしゃいましたら、教えてください。
詳細情報を下に記します。

------- JSP ------------
<style type="text/css">
<!--
.error_class{
background-color:red;
}
-->
</style>
<html:text name="aaaForm" property="hogehoge" maxlength="30" size="70" errorStyleClass="error_class" />

------- ValidatorForm ------------
//必須入力チェック
if(null == getHogehoge() || getHogehoge().trim().length()){
errors.add("errors.maxlength", new ActionMessage("errors.maxlength","HOGEHOGE","30"));
}
return errors;
------- ValidatorForm ------------
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-10-31 18:43
http://struts.apache.org/1.3.8/struts-taglib/tagreference.html#text
http://www.techscore.com/tech/ApacheJakarta/Struts/24-2.html
ここが参考になるでしょうか。

引用:

errors.add("errors.maxlength", new ActionMessage("errors.maxlength","HOGEHOGE","30"));



引用:

errors.add("hogehoge", new ActionMessage("errors.maxlength","HOGEHOGE","30"));


にした方がよいです。

デフォルトではエラーのキーとプロパティが一致した場合にerrorStyleClassが使えたと思います。
errorKey属性を使って明示的に別のエラーのキーを指定することも出来ます。
(とはいえ試したことはないのですが・・・)
もも
ベテラン
会議室デビュー日: 2007/07/01
投稿数: 78
投稿日時: 2007-10-31 20:50
かつのりさん

すばやいご返答ありがとうございます。
ご指摘のように、キー名が異なることが原因でした。
大変ありがとうございました。
1

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