[Seasar-user:18758] Re: [Ymir] Validate後に、該当textboxのスタイルを変更したい
西山 はじめ
[E-MAIL ADDRESS DELETED]
2009年 10月 23日 (金) 19:03:40 JST
お世話になっております。
西山(hajimeni)です。
丁寧にありがとうございます。
やりたいことが完全に実現できました。
サンプルにあったのですね。見逃しておりました。申し訳ありません。
dbfluteも使っていましたので、dbflute-ymir-example だけ参照し
ておりました。
ymir-example-generic を参考にさせていただきます。
以上よろしくお願いいたします。
[2009/10/23 16:37] YOKOTA Takehiko さんは書きました。:
> 横田です。
>
>> YmirでValidateを行った後、該当のテキストボックスのスタイルを
>> 変更したいと思っております。(該当箇所が分かるように背景が赤
>> くなるなど)
>>
>> Teedaでいえば、ここの機能となります。
>> http://teeda.seasar.org/ja/extension/reverse/validation.html#%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%9F%E9%A0%85%E7%9B%AE%E3%81%8C%E7%9B%AE%E7%AB%8B%E3%81%A4%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF
>
> バリデーションエラーとなったテキストボックスのスタイルを変更するのでしたら、
> <input>タグに
>
> tal:attributes="class string:error-${notes/contains(XXX)}"
>
> (XXXはリクエストパラメータ名)
>
> という属性をつけることで、バリデーションエラー発生時に「error-true」、
> 発生していない時に「error-false」というclass名がつくようになります。
>
> 仕組みですが、バリデーションエラーが発生した場合、バリデーションエラー
> 情報を持つNotesオブジェクトがリクエストスコープに「notes」という名前で
> バインドされます。
>
> ZPTで「notes/contains(XXX)」とすると、リクエストスコープの「notes」
> という名前のオブジェクトのcontainsメソッドが(引数にXXXが渡されて)
> 呼び出されます。Notesオブジェクトが存在する場合は、contains(XXX)の
> 結果は「XXXというパラメータについてエラーが発生していればtrue、
> していなければfalse」となりますので、XXXについてエラーが発生していれ
> ば${...}の部分が"true"になり、エラーが発生していなければ"false"にな
> る、というわけです。
>
> なお、バリデーションエラーが1つも発生しなかった場合はnotesという名前
> でリクエストスコープからオブジェクトは取れませんが、その場合「notes/contains(XXX)」
> という式の評価結果は"false"となります。
>
> このあたりのサンプルがymir-example-genericにありますのでみてみてくだ
> さい。
>
> ソース:https://www.seasar.org/svn/ymir/example/trunk/ymir-example-generic/
> 最新のwar:http://maven.seasar.org/maven2-snapshot/org/seasar/ymir/example/ymir-example-generic/1.0.7-SNAPSHOT/ymir-example-generic-1.0.7-20091023.073027-1.war
>
> 「テキストボックス」というサンプルが参考になると思います。
> http://localhost:8080/ymir-example-generic/text/index.html
>
> 以上よろしくお願いします。
>
>
> 西山 はじめ さんは書きました:
>> お世話になっております。
>> 西山(hajimeni)です。
>>
>> 現在、以下の環境でYmirアプリケーションの開発を行っております。
>>
>> Ymir:1.0.5
>> DBFlute:0.9.5.5
>> S2Container:2.4.20
>>
>> OracleApplicationServer10g(10.1.3.4)
>> OracleDatabase10g
>>
>> YmirでValidateを行った後、該当のテキストボックスのスタイルを
>> 変更したいと思っております。(該当箇所が分かるように背景が赤
>> くなるなど)
>>
>>
>> Teedaでいえば、ここの機能となります。
>> http://teeda.seasar.org/ja/extension/reverse/validation.html#%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A8%E3%81%AA%E3%81%A3%E3%81%9F%E9%A0%85%E7%9B%AE%E3%81%8C%E7%9B%AE%E7%AB%8B%E3%81%A4%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF
>>
>> Ymirを使用する上で、こういった機能を実装する為のValidationの
>> 結果の情報は取得できるでしょうか。
>>
>> _prerender時に、Validate結果がわかれば何とかなりそうではある
>> のですが・・・
>>
>> 何かいい方法がありましたら、教えていただきたいと思います。
>>
>>
>> 以上よろしくお願いいたします。
>>
>
>
--
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
西山 はじめ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Seasar-user メーリングリストの案内