今天我参加了一项工作的实际测试。在那篇论文中,他们被要求创建一个小的Web应用程序,用于向DB提交一些数据并正确地分离层(MVC)。 所以我在该应用程序中使用了Struts 2和spring以及Hibernate集成。 我还使用了BO和DAO类。
测试是这样的,学生们询问科目。一个学生可以查询很多科目, 他们应该提交姓名电子邮件,主题和信息。
所以,我已正确完成数据提交部分。但作为最后一个问题,他们要求验证电子邮件地址,相同的电子邮件地址一天不能超过3次。作为提示他们使用商业服务。我无法做到这一点,我想知道如何做到这一点?
答案 0 :(得分:0)
如果他们为您提供服务,您应该使用它而不是DAO。通过扩展ActionSupport
并覆盖validate()
方法,可以轻松验证。此验证类型称为 programmatic ,因为您没有为验证程序定义规则,而是通过检查操作状态和其他条件继续手动验证,并通过ActionSupport::addActionError()
或{{1}添加错误具有默认实现的方法。例如
ActionSupport::addFieldError()
可以使用public void validate() {
if (sameEmailAddressCannotUseMoreThan3TimeForADay(emailAddress))
addActionError("same email address cannot use more than 3 time for a day");
}
和ActionSupport::getText()
对其进行调整,以将消息表示为错误。
MessageFormat::format()
包含defaultStack
拦截器,因此请使用默认设置,不要忘记配置validation
结果。从验证中收集错误时,INPUT
结果返回并且操作未执行。错误通过INPUT
或<s:actionerror/>
显示在JSP中。
<强>参考文献:强>