Thanks a lot for your answer. Concerning request = ServletActionContext.getRequest(); and tmp = request.getParameter("cardNo"); - I am doing it cause I did not manage to use getCardNo() method - it always return 0 in the case of int. Here is my action class - probably you will help me again..))
JAVA class: package com.my.intra4.actions; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.interceptor.ServletRequestAware; import org.hsqldb.lib.Set; import com.opensymphony.xwork2.ActionSupport; import com.my.intra4.ejb.cf.session.PersonalInfoInterface; import com. my.intra4.ejb.cf.session.UserManagerInterface; import com. my.intra4.ejb.wtt.CardsVO; import com. my.intra4.ejb.wtt.WTT; import com. my.intra4.util.Functions; import com. my.intra4.util.GetPropsSingle; import com. my.intra4.util.Menu; public class EmployeeCard extends ActionSupport implements ServletRequestAware { private static final long serialVersionUID = 564633345679L; private HttpServletRequest request; private HttpServletResponse response; private ArrayList<Menu> menu_items = null; private ArrayList<Menu> page_menu_items = null; private ArrayList<Menu> page_menu_manager_items = null; private String actionName; private PersonalInfoInterface pInfoInterface = null; private String fio; private String EmpNo; private CardsVO card; private Integer cardNo; private String cardN; boolean addCard = false; boolean editCard = false; private String UserId; private int fieldName; private UserManagerInterface uManagerInterface = null; public String getUserId() { return UserId; } public void setUserId(String userId) { UserId = userId; } public UserManagerInterface getUManagerInterface() { return uManagerInterface; } public void setUManagerInterface(UserManagerInterface managerInterface) { uManagerInterface = managerInterface; } public boolean isAddCard() { return addCard; } public void setAddCard(boolean addCard) { this.addCard = addCard; } public boolean isEditCard() { return editCard; } public void setEditCard(boolean editCard) { this.editCard = editCard; } public Integer getCardNo() { return this.cardNo; } public void setCardNo(Integer cardNo) { this.cardNo = cardNo; } public void validate() { // request = ServletActionContext.getRequest(); // String tmp = ""; try { // tmp = request.getParameter("cardNo"); // Integer i = this.getCardNo(); // System.out.println("Card no from get = " + i); // if (tmp != null && tmp.length() > 0) { // int tmpInt = Integer.parseInt(tmp); // this.setCardNo(tmpInt); // System.out.println("Card no (validation) = " + cardNo); // if (cardNo < 1 || cardNo > 9999) { // // addFieldError("cardNo", "Must be int"); // // Map map = request.getParameterMap(); // Set set = (Set) map.keySet(); // Iterator it = (Iterator) set.iterator(); // // while (it.hasNext()) { // String elem = (String) it.next(); // // System.out.println("Param " + i + " = " + map.get(elem)); // // } // // // System.out.println("INPUT..."); // } // } System.out.println("Card no (validation) = " + getCardNo()); if (getCardNo() != null && (getCardNo() < 0 || getCardNo() > 999999)) { addFieldError("cardNo", "Must be int"); System.out.println("INPUT..."); } } catch (Exception e) { e.printStackTrace(); } } public String execute() throws Exception { System.out.println("Start execution..."); actionName = Functions.getActionName(); request = ServletActionContext.getRequest(); // request = ServletActionContext.getRequest(); this.menu_items = Functions.formMenu(); this.page_menu_items = Functions.formPageMenu(this.request); this.page_menu_manager_items = Functions.formEmplManagerMenu(); // String tmp = ""; // try { // tmp = request.getParameter("cardNo"); // Integer i = this.getCardNo(); // System.out.println("Card no from get = " + i); // if (tmp != null && tmp.length() > 0) { // int tmpInt = Integer.parseInt(tmp); // this.setCardNo(tmpInt); // System.out.println("Card no (validation) = " + cardNo); // if (cardNo < 1 || cardNo > 9999) { // // this.addFieldError("cardNo", "Must be int"); // System.out.println("INPUT..."); // return "input"; // } // } // } catch (Exception e) { // // e.printStackTrace(); // } EmpNo = request.getParameter("EmpNo"); uManagerInterface = GetPropsSingle.getInstance().getUserManager(); UserId = uManagerInterface.getUserId(request.getRemoteUser()) .toString(); pInfoInterface = GetPropsSingle.getInstance().getPersonalInfo(); WTT WTTObject = GetPropsSingle.getInstance().getWTTObject(); fio = pInfoInterface.getEmployeeInfo(Long.parseLong(EmpNo)) .getSurname() + " " + pInfoInterface.getEmployeeInfo(Long.parseLong(EmpNo)) .getName() + " " + pInfoInterface.getEmployeeInfo(Long.parseLong(EmpNo)) .getPatronymic(); String tmpAddCard = request.getParameter("addCard"); String tmpEditCard = request.getParameter("editCard"); String tmpAddCardFinal = request.getParameter("addCardFinal"); String tmpEditCardFinal = request.getParameter("editCardFinal"); if (tmpAddCardFinal != null && tmpAddCardFinal != "") { CardsVO tmpCard = new CardsVO(); cardN = request.getParameter("cardNo"); if (cardN != null && cardN != "") { tmpCard.setId(Long.parseLong(cardN)); tmpCard.setEmployeId(Long.parseLong(EmpNo)); WTTObject.addCard(tmpCard); response = ServletActionContext.getResponse(); response.sendRedirect(request.getContextPath() + "/GetEmployee.action?employeeId=" + EmpNo); } } if (tmpEditCardFinal != null && tmpEditCardFinal != "") { CardsVO tmpCard = new CardsVO(); cardN = request.getParameter("cardNo"); tmpCard = WTTObject.getCardByEmpID(Long.parseLong(EmpNo)); if (cardN != null && cardN != "") { tmpCard.setId(Long.parseLong(cardN)); tmpCard.setEmployeId(Long.parseLong(EmpNo)); WTTObject.setCard(tmpCard); response = ServletActionContext.getResponse(); response.sendRedirect(request.getContextPath() + "/GetEmployee.action?employeeId=" + EmpNo); } } addCard = false; if (tmpAddCard != null && tmpAddCard != "") { addCard = true; } editCard = false; if (tmpEditCard != null && tmpEditCard != "") { editCard = true; } if (editCard == true) { card = WTTObject.getCardByEmpID(Long.parseLong(EmpNo)); cardN = String.valueOf(card.getId()); cardNo = Integer.parseInt(String.valueOf(card.getId()).trim()); } if (addCard == true) { cardN = ""; } return "SUCCESS"; } public String getEmpNo() { return EmpNo; } public void setEmpNo(String empNo) { EmpNo = empNo; } public String getFio() { return fio; } public void setFio(String fio) { this.fio = fio; } public String getActionName() { return actionName; } public void setActionName(String actionName) { this.actionName = actionName; } public void setServletRequest(HttpServletRequest request) { // TODO Auto-generated method stub this.request = request; } public ArrayList<Menu> getMenu_items() { return menu_items; } public void setMenu_items(ArrayList<Menu> menu_items) { this.menu_items = menu_items; } public ArrayList<Menu> getPage_menu_items() { return page_menu_items; } public void setPage_menu_items(ArrayList<Menu> page_menu_items) { this.page_menu_items = page_menu_items; } public ArrayList<Menu> getPage_menu_manager_items() { return page_menu_manager_items; } public void setPage_menu_manager_items( ArrayList<Menu> page_menu_manager_items) { this.page_menu_manager_items = page_menu_manager_items; } public CardsVO getCard() { return card; } public void setCard(CardsVO card) { this.card = card; } public HttpServletResponse getResponse() { return response; } public void setResponse(HttpServletResponse response) { this.response = response; } public int getFieldName() { return fieldName; } public void setFieldName(int fieldName) { this.fieldName = fieldName; } public String getCardN() { return cardN; } public void setCardN(String cardN) { this.cardN = cardN; } } -----Original Message----- From: Lukasz Lenart [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 18, 2008 11:09 AM To: Struts Users Mailing List Subject: Re: Custom validation with Struts2 > request = ServletActionContext.getRequest(); > String tmp = ""; > try { > tmp = request.getParameter("cardNo"); > Integer i = this.getCardNo(); > if (tmp != null && tmp.length() > 0) { > int tmpInt = Integer.parseInt(tmp); Remove this part above > this.setCardNo(tmpInt); You don't have to do this, it will be done by Struts2 > System.out.println("Card no (validation) = " + cardNo); > if (cardNo < 1 || cardNo > 999999) { > addFieldError("cardNo", "Must be int"); > System.out.println("INPUT..."); > } That's all you have to have in your validate() method (if cardNo has getter and setter defined in action class) Remove also validate=true from your form, because you don't use client side validation. Regards -- Lukasz http://www.linkedin.com/in/lukaszlenart --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]