Struts 2.1.6版本的Bug?还是我的配置有问题
Struts2 的Ajax Validation 校验框架在Action实现了Model Driven 方式好像存在问题
Validator:
<validators>
<field name="model.account">
<field-validator type="requiredstring">
<message >Account is required!!!</message>
</field-validator>
</field>
</validators>
Action:
public class TestAction extends ActionSupport implements ModelDriven
{
/**
* @return user
*/
public TestUser getUser()
{
return user;
}
/**
* @param 对user
*/
public void setUser(TestUser user)
{
this.user = user;
}
private TestUser user=new TestUser();
public String execute()
{
return "success";
}
/**
* @return
*/
public Object getModel()
{
// TODO Auto-generated method stub
return this.user;
}
}
JSP:
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@ taglib uri="/struts-dojo-tags" prefix="sx"%>
<html>
<head>
<title></title>
<sx:head debug="true" />
</head>
<body>
<s:form action="test.action" id="form" >
<s:url id="url" action="test.action"/>
<caption><h3>Login</h3></caption>
<s:textfield name="account" label="Account Info" />
<tr>
<sx:submit key="input.submit" validate="true" />
</tr>
</s:form>
<script type="text/javascript">
</script>
</body>
</html>
Issue1:
上述有一个非空校验,当我什么都不输就提交,会显示配置的错误信息
但是如果我输入了信息,还是显示配置的错误信息
Issue2:
如果在jsp中放上了File Upload控件,且校验框架中配置了“required”validation 规则
点击提交,则IE浏览器中的状态栏直接显示js错误信息
<s:file name="userDetail" key="input.detail" />
Issue3:
如果 Datetimepicker 标签设置了 "required" Validation Rule in 校验框架,
当提交按钮点击时,直接弹出了alert box : Object Error
其他控件设置了Required校验器规则也是这样
<field name="model.birthday">
<field-validator type="required">
<message key="birthday.required" />
</field-validator>
<field-validator type="date">
<param name="min">1888-01-01</param>
<param name="max">2008-01-01</param>
<message key="birthday.error" />
</field-validator>
</field>