我通过将操作扩展到ActionSupport来使用Struts验证。
当我尝试在UI上添加特殊字符时,默认的actionErrors会在集合中累加,例如在输入中检测到非法字符,请将其删除并重试。
然后我需要删除UI上出现的默认验证。我不知道要处理它。
我的代码是这样的:
void validate(){
if (locationBean.getReasonTypeId() == 0)
{
addActionError("Error in reason");
}
if (ValidationHelper.checkRequiredField(locationBean.getName()))
{
addActionError("Error in Location name");
}
}
我的验证操作类是这样的:
public class ValidationErrorJSONAction extends ActionSupport
{
private JSONObject jsonObject;
@SuppressWarnings("unchecked")
public String execute() throws Exception
{
jsonObject = new JSONObject();
jsonObject.put("actionErrors", new JSONArray(getActionErrors()));
jsonObject.put("fieldErrors",new JSONObject(getFieldErrors()));
TokenHelperJSON.appendToken(jsonObject);
return SUCCESS;
}
希望它能帮助你理解这个问题。