[Seasar-user:18760] Re: [Ymir] Validate後に、該当textboxのスタイルを変更したい

西山 はじめ [E-MAIL ADDRESS DELETED]
2009年 10月 23日 (金) 19:30:30 JST


西山(hajimeni)です。

申し訳ありません。ありました・・・。

チェックアウトしてから、色々いじったり編集したりしてましたの 
で、そこで自分で消してしまっていたみたいです・・・(本当に申 
し訳ありません)

[2009/10/23 19:09] kubo さんは書きました。:
> 久保(jflute)です。
> 
> dbflute-ymir-exampleでもやってますよ。
> 「テキストボックスの色を変える」ではなく、
> 「ラベルの色を変える」ですが。
> 
> // 会員名称というラベルのclass属性を差し替え
> <label tal:attributes="class notes/contains(memberName) ?
> string:label-invalid : default" class="label-normal">
> 	会員名称(*)
> </label>
> 
> // その機能を使ったExample(会員編集:入力)
> https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-ymir-example/src/main/webapp/member/edit/input.html
> 
> 2009/10/23 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております。
>> 西山(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 mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
> 
> 


-- 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
株式会社フジミック 
        システム開発センター ソフトウェア開発部
 西山 創
[E-mail]:[E-MAIL ADDRESS DELETED]
 
〒140-0002 東京都品川区東品川3-32-42 フジテレビ別館7階
[TEL]:03-5495-1060
++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Seasar-user メーリングリストの案内