2
<form-bean name="RegisterForm" type="com.mysite.form.RegisterForm" />
<action path="/register" type="com.mysite.action.RegisterAction" name="RegisterForm" input="/register.jsp" validate="true">
<forward name="success" path="/welcome.jsp" />
<forward name="failure" path="/register.jsp" />
</action>
RegisterForm的Struts忽略驗證方法
public class RegisterForm extends ActionForm{
private String name;
/**
Constructor
Set+Get
**/
public ActionErrors validate(ActionMapping mapping, ServletRequest request) {
ActionErrors errorList = new ActionErrors();
System.out.println("VALIDATING");
return errorList;
}
}
這是我的所有。出於某種原因,似乎控制流直接跳轉到ActionForm的execute方法,因爲我甚至無法在控制檯中看到VALIDATING消息。有什麼我失蹤?謝謝!
嘗試是ValidatorForm而不是ActionForm來驗證你的動作形式,讓我知道結果。 – Naved
給定的代碼不是真正的代碼,因爲它不能編譯(公共而不是公共)。嘗試將@Override註釋添加到validate方法中,以確保實際上覆蓋了ActionForm的validate方法。另外嘗試在ActionErrors中包含錯誤:您可能會錯過控制檯中的VALIDATING消息。 –
@JBNizet它是真實的代碼,但我編輯它,因爲有很多驗證,並沒有指出把這些放在這裏。 methos覆蓋父方法。 – TGM