送信時に検証する必要があるフォームがあります。public void validate()
アクションクラスに追加しました。ただし、フォームがまだ送信されていない場合、最初のページの読み込みでもエラーが表示されます。
thisとthisを読みましたが、何も解決しませんでした。最初のフォーム読み込み時に検証をスキップするような単純なことを実装するのは本当に難しいですか? :(
アクションクラス内で手動検証を使用しています。
struts.xml
<action name="login" class="community.action.LoginAction">
<result name="success" type="redirect">/forums/list</result>
<result name="login">/WEB-INF/login.jsp</result>
<result name="input">/WEB-INF/login.jsp</result>
</action>
LoginAction.java
public void validate() {
//validation rule
addActionError("Error message");
}
public String execute() {
if (//username and password correct) {
return SUCCESS; //redirect to forums page
} else {
return LOGIN;
}
}
現在、フォームが送信されていなくてもエラーが表示されます。
@SkipValidation
で注釈を使用しようとしましたexecute()
が、これにより、フォームの送信後でもエラーがまったく表示されなくなります。