Tenho um form que faz um cadastro básico, porém não estou conseguindo fazer a validação funcionar, que deveria checar se dois campos do form foram preenchidos. O registro é cadastrado e a validação não ocorre
Estou esquecendo algo (ou fiz algo errado)?
Form:
...
<form name="newissue" method="post" action="AddIssue.action">
<table cellpadding="2" cellspacing="0" border="0">
<tr>
<td bgcolor="#f2f2f2">
Titulo
</td>
<td>
<input type="text" name="titulo" maxlegth="150" size="70">
#set ($tituloError = $stack.findValue("fieldErrors").get("titulo"))
#if ($tituloError)
&nbsp;<strong style="color:red">$tituloError</strong>
#end
</td>
</tr>
...
xwork.xml
...
<interceptors>
<interceptor-stack name="systemDefaultStack">
<interceptor-ref name="validationWorkflowStack"/>
</interceptor-stack>
</interceptors>
<action name="AddIssue" class="br.com.deltatech.actions.IssueAction" method="add">
<result name="input" type="dispatcher">
<param name="location">/newissue.vm</param>
</result>
<result name="success" type="dispatcher">
<param name="location">/addedissue.vm</param>
</result>
<result name="error" type="dispatcher">
<param name="location">/newissue.vm</param>
</result>
</action>
...
IssueAction.java
...
public String add() throws HibernateException {
try {
Issue issue = new Issue(projeto, getTitulo(), getDescricao());
IssueDAO dao = new IssueDAO();
dao.insert(issue);
log.info("Issue adicionada");
return SUCCESS;
} catch (DaoException e) {
e.printStackTrace();
return ERROR;
}
}
...
AddIssue-validation.xml
<validators>
<field name="titulo">
<field-validator type="requiredstring">
<message>Informe o título.</message>
</field-validator>
</field>
<field name="descricao">
<field-validator type="requiredstring">
<message>Informe a descrição.</message>
</field-validator>
</field>
</validators>
Desculpem o monte de código :oops: