重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

疑問1
jspのformの中にボタンが複数ある場合(A.B.C)
Aだけにバリデーションチェックを限定する事は可能ですか?
現在A、B,Cのボタンすべてにバリデーションチェックが入っています。

疑問2

バリデーションチェックをするための項目指定は<html:text といった項目のpropertyでないとダメなのでしょうか?input typeでは無理?

A 回答 (1件)

しばらくStrutsを触ってないので、うろ覚えですが・・・。



>jspのformの中にボタンが複数ある場合(A.B.C)
>Aだけにバリデーションチェックを限定する事は可能ですか?

これは3つボタンがあって、Aをクリックしたときだけバリデーションが機能するようにしたい、ということですか。

Strutsのバリデーションは、アクションフォームに保持されるフィールドに対して、各フィールドごとに行われるものです。要するに、どのボタンでSubmitされたかというのは関係ないはずです。方法はあるのかもしれませんが、機能として「どういう形で送信されたのであれ、このフィールドは必ずこのチェックがされるようにする」というものだったはずです。ですから、「特定の条件のときだけこのフィールドをチェックする」というのは、バリデーションの役割とはやや異なります。独自に処理を作成したほうがよいのではないかと思います。

>バリデーションチェックをするための項目指定は<html:text といった項目のpropertyでないとダメなのでしょうか?input typeでは無理?

<input>タグでは、アクションフォームに値が保管されないのでは?
アクションフォーム内のフィールドに対し処理がされるものですから、アクションフォームに保管されないものはチェックできないと思いますよ。(そもそも、Strutsで送られた値を処理するなら、<input>タグは使うことはないはずでは?)


どちらも、フォームの内容がサーバに送信されているのは確かですから、やりようによっては方法はあると思います(Strutsを離れ、HttpRequestから直接値を受けて処理するようなことを考えれば)。ただ、「Strutsの機能でできるか」というと、これはちょっと違いますよね。

この回答への補足

疑問1について
javaScript と validationを使ってポップアップ表示に変更しましたが、やはりa b c どのボタンでも同じ検証が行われてしまいます・・。Strutsを使って検証するのは無理なのでしょうか・・。

確かにjavaScriptのみでチェックさせれば楽なのでしょうけど・・。あえて・・validationを使って・・・したいです。

補足日時:2007/09/11 16:57
    • good
    • 0
この回答へのお礼

お礼の欄から失礼します。こういうコードはjava jspには存在しないんですよね? 「CausesValidation」
http://msdn.microsoft.com/library/ja/default.asp …

お礼日時:2007/09/11 17:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!