В настоящее время я работаю над проверкой формы входа в систему.
У меня есть РАБОТАЮЩИЙ набор проверок в моих действиях:
// SNIP!!!!
@Override
public void validate()
{
if (userBean.getUserName().length() == 0)
{ addFieldError("userBean.userName", "Username is required."); }
if (userBean.getPassword().length() == 0)
{ addFieldError("userBean.password", "Password is required."); }
else if (!(
User
.findUser(userBean.getUserName())
.getPassword()
.equals(userBean.getPassword())
))
{ addFieldError("userBean.password", "Password is invalid."); }
}
// SNIP!!!!
Я пытаюсьчтобы выяснить, могу ли я переписать это в проверочный XML
Вот как выглядит мой XML в настоящее время
<!-- //src/hu/flux/user/LoginUserAction-validation.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<validator type="requiredstring">
<param name="fieldname">userBean.userName</param>
<message>Username is required.</message>
</validator>
<validator type="requiredstring">
<param name="fieldname">userBean.password</param>
<message>Password is required.</message>
</validator>
<validator type="fieldexpression">
<param name="fieldname">userBean.password</param>
<param name="expression"><![CDATA[
(
User
.findUser(userBean.userName)
.getPassword()
.equals(userBean.password)
)
]]></param>
<!-- This error message is just for debugging -->
<message>
Password is invalid.
${userBean.password} received.
${(
User
.findUser(userBean.userName)
.getPassword()
.equals(userBean.password)
)} expected.
</message>
</validator>
</validators>
Когда я пытаюсь использовать XML вместо JAVA, а затем отправить любой парольсообщение об ошибке, подобное этому, отображается в форме:
Password is invalid. sdfdsf received. expected.
"sdfdsf" может быть любым паролем, который я пытался использовать.
Возможно ли это сделать с помощью валидатора XML?Или мне нужно использовать функцию validation ()?
(я думал, что это работает в XML, но потом по какой-то необъяснимой причине он перестал работать.)