私はstruts2、Hibernateでプロジェクトをやっています。
ストラットでフォームを検証したい。を追加しましたがMyAction-validation.xml
、かなりうまく機能します。(クライアント側で検証しないので、かなりうまく言います。<s:form/>
タグのvalidate属性をtrueに設定しました)
最初にいくつかのエラーが表示され、グーグルで検索すると、入力名で結果を追加する必要があることがわかりました。だから今、私はそれがどのように機能するのか、そしてその理由をよく理解せずに、自分のアクションに入力名を含む結果を持っています。
私のアクションは、 myAction.action url によって呼び出されるとプレーンフォームを返し、フォームが送信されると、データはアクションパラメーターに直接送られ、データベースに保存されます。次に、入力されたフォームが成功メッセージとともに表示されます。フォーム フィールドは、送信時に検証する必要があります。ただし、アクションが呼び出されるたびに検証されます。アノテーションを試し@SkipValidation
ましたが、検証が完全にキャンセルされます。execute メソッドで validate メソッドを呼び出しても実行されません。System.out.println
いくつかの行でテストしました。struts.xml での私のアクション定義は次のとおりです。
<action name="ShowAddItemPage" class="action.clerk.ShowAddItemPage">
<result name="success" type="tiles">addItem</result>
<result name="generalError" type="tiles">clerkGeneralError</result>
<result name="input" type="tiles">addItem</result>
</action>
- クライアント側で検証を機能させるにはどうすればよいですか?
- フォームの送信時にのみ検証を実行し、アプリケーションによってフォーム フィールドが提供されたときに検証を無効にするにはどうすればよいですか?
- 入力結果名とは何ですか?なぜそれをアクション結果に追加する必要があったのですか?