导读:
最近使用了struts2的校验框架,用于在服务器端对用户提交的数据进行校验,遇到点问题。
问题是:测试类OperatorActionTest 始终检查不到regId和password字段为空(测试时两个属性都赋值null)。
以下是action类,validation.xml文件,以及测试类:
action类:
public class OperatorAction extends BaseActionSupport {
// for login
private String regId;
private String password;
/**
* operator登录
*
* @return
*/
public String login() {
System.out.println("login------------");
*******逻辑部分省略**********
return SUCCESS;
}
*******getter和setter省略**********
}
OperatorAction-login-validation.xml文件:
测试类:
public class OperatorActionTest extends TestCase {
private ActionValidatorManager actionValidatorManager;
private OperatorAction operatorAction;
public void setUp() throws Exception {
operatorAction = new OperatorAction();
super.setUp();
}
public void testAddCardValidation() throws ValidationException {
operatorAction.setRegId(null);
operatorAction.setPassword(null);
ValidationAware validationAware = new ValidationAwareSupport();
ValidatorContext validationContext = new DelegatingValidatorContext(
validationAware);
actionValidatorManager = ActionValidatorManagerFactory.getInstance();
//以下是调试用的四种validate方法,都试过了
// actionValidatorManager.validate(operatorAction, "");
// actionValidatorManager.validate(operatorAction, "",
// validationContext);
// actionValidatorManager.validate(operatorAction, "", "login");
actionValidatorManager.validate(operatorAction, "", validationContext,
"login");
if (validationContext.hasErrors() || operatorAction.hasErrors()) {
System.out.println("检查到问题");
} else {
System.out.println("没有检查到问题");
}
}
public ActionValidatorManager getActionValidatorManager() {
return actionValidatorManager;
}
public void setActionValidatorManager(
ActionValidatorManager actionValidatorManager) {
this.actionValidatorManager = actionValidatorManager;
}
}
执行结果:没有检查到问题
本文转自
http://matthew.javaeye.com/blog/166630
最近使用了struts2的校验框架,用于在服务器端对用户提交的数据进行校验,遇到点问题。
问题是:测试类OperatorActionTest 始终检查不到regId和password字段为空(测试时两个属性都赋值null)。
以下是action类,validation.xml文件,以及测试类:
action类:
public class OperatorAction extends BaseActionSupport {
// for login
private String regId;
private String password;
/**
* operator登录
*
* @return
*/
public String login() {
System.out.println("login------------");
*******逻辑部分省略**********
return SUCCESS;
}
*******getter和setter省略**********
}
OperatorAction-login-validation.xml文件:
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="regId">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>用户名不能为空</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>密码不能为空</message>
</field-validator>
</field>
</validators>
测试类:
public class OperatorActionTest extends TestCase {
private ActionValidatorManager actionValidatorManager;
private OperatorAction operatorAction;
public void setUp() throws Exception {
operatorAction = new OperatorAction();
super.setUp();
}
public void testAddCardValidation() throws ValidationException {
operatorAction.setRegId(null);
operatorAction.setPassword(null);
ValidationAware validationAware = new ValidationAwareSupport();
ValidatorContext validationContext = new DelegatingValidatorContext(
validationAware);
actionValidatorManager = ActionValidatorManagerFactory.getInstance();
//以下是调试用的四种validate方法,都试过了
// actionValidatorManager.validate(operatorAction, "");
// actionValidatorManager.validate(operatorAction, "",
// validationContext);
// actionValidatorManager.validate(operatorAction, "", "login");
actionValidatorManager.validate(operatorAction, "", validationContext,
"login");
if (validationContext.hasErrors() || operatorAction.hasErrors()) {
System.out.println("检查到问题");
} else {
System.out.println("没有检查到问题");
}
}
public ActionValidatorManager getActionValidatorManager() {
return actionValidatorManager;
}
public void setActionValidatorManager(
ActionValidatorManager actionValidatorManager) {
this.actionValidatorManager = actionValidatorManager;
}
}
执行结果:没有检查到问题
本文转自
http://matthew.javaeye.com/blog/166630