Validação de dados no Webwork

2 respostas
furutani
Olá GUJ Estou tentando fazer uma validação de um formulário simples com dois campos nome e email. Configurei meu xwork.xml
<xwork>
	<include file="webwork-default.xml" />

	<package name="default" extends="webwork-default">
	<default-interceptor-ref name="defaultStack" />
	
		<action name="CadastrarEmail"
			class="br.eti.furutani.site.actions.CadastrarEmailAction">
			<interceptor-ref name="validationWorkflowStack" />
			<result name="success" type="dispatcher">boletim.jsp</result>
			<result name="error" type="dispatcher">boletim.jsp</result>
		</action>

	</package>
</xwork>
Criei um CadastrarEmailAction-validation.xml
<validators>
  <field name="email.nome">
    <field-validator type="requiredstring">
      <message>Informe seu nome</message>
    </field-validator>
  </field>

  <field name="email.email">
    <field-validator type="email">
      <message>Informe um email válido</message>
    </field-validator>
  </field>
 
</validators>
Acredito que o webwork ao menos tentou validar, corrijam se eu estiver errado, pois no log tem essa saída
com.opensymphony.xwork.interceptor.ParametersInterceptor DEBUG - Setting params {email.nome=[Ljava.lang.String;@f946f9, 
email.email=[Ljava.lang.String;@1a28e23}
com.opensymphony.xwork.validator.ValidationInterceptor DEBUG -
 Validating /CadastrarEmail.
com.opensymphony.xwork.validator.ValidatorFactory DEBUG - Loading
 validator definitions.
com.opensymphony.xwork.validator.ValidatorFileParser ERROR - Caught 
exception while parsing validator definitions.
com.opensymphony.xwork.validator.ActionValidatorManager ERROR -
 Caught exception while loading file br/eti/furutani/site/actions/CadastrarEmailAction-validation.xml
java.lang.IllegalArgumentException: There is no validator class mapped to
 the name requiredstring
	at com.opensymphony.xwork.validator.
ValidatorFactory.getValidator(ValidatorFactory.java:48)
Como eu faço para corrigir esse erro? Uso webwork 2.1.7 e tomcat 5.5.4

Grato

2 Respostas

eduardo_lopes

como está o seu “validators.xml”?

furutani

Está assim

<validators> <validator name="required" class="com.opensymphony.xwork.validator.validators.RequiredFieldValidator"/> <validator name="requiredstring" class="com.opensymphony.xwork.validator.validators.RequiredStringValidator"/> <validator name="int" class="com.opensymphony.xwork.validator.validators.IntRangeFieldValidator"/> <validator name="date" class="com.opensymphony.xwork.validator.validators.DateRangeFieldValidator"/> <validator name="expression" class="com.opensymphony.xwork.validator.validators.ExpressionValidator"/> <validator name="fieldexpression" class="com.opensymphony.xwork.validator.validators.FieldExpressionValidator"/> <validator name="email" class="com.opensymphony.xwork.validator.validators.EmailValidator"/> <validator name="url" class="com.opensymphony.xwork.validator.validators.URLValidator"/> <validator name="visitor" class="com.opensymphony.xwork.validator.validators.VisitorFieldValidator"/> <validator name="conversion" class="com.opensymphony.xwork.validator.validators.ConversionErrorFieldValidator"/> </validators>

Criado 16 de julho de 2005
Ultima resposta 16 de jul. de 2005
Respostas 2
Participantes 2