问题是:使用方法addFieldError
OUTSIDE validate方法编程是一种好方法吗?
假设:
我的验证方法仅检查某些文本字段是否为空,如果是,我的addFieldError
会显示一些fieldErrors
。
我的execute方法,在通过调用正确的Java Bean的方法处理登录请求后,知道用户名和/或密码不正确,需要使用相应的错误消息调用addFieldError
。
当然,如果用户名/密码错误,execute方法将返回INPUT
,如果登录成功,则返回SUCCESS
。
这种方法可以吗?
答案 0 :(得分:2)
将字段错误错误的用户名写在用户名文本字段旁边或错误的密码除了密码文本字段之外没有多大意义,因为其中一个可能是正确的,你不能知道(或者更好,不应该让用户知道)哪一个。写同样的消息,如用户名或密码错误 ...
也是丑陋的。在这些情况下,您应该使用操作错误:
addActionError("Username or password incorrect.");
在JSP页面的(通常是顶部),检查它,然后正确显示它:
<s:if test="hasActionErrors()">
<div class="feedError">
<s:actionerrors />
</div>
</s:if>
在this answer上阅读更多内容。