Struts2 유효성 검사 도구를 사용하여 양식의 유효성을 검사하려고하는데 xml 유효성 검사기가 인식되지 않아 작동하지 않는 것 같습니다.Struts2 유효성 검사가 작동하지 않습니다.
여기 내 코드입니다 :
struts.xml :
<interceptors>
<interceptor name="login_interceptor" class="org.apache.struts.gesprod.produccion.BLLogin">
</interceptor>
<interceptor-stack name="login_stack">
<interceptor-ref name="login_interceptor" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="login_stack"></default-interceptor-ref>
<global-results>
<result name="input">/errores/error_input.jsp</result>
<result name="error_sql">/errores/error_sql.jsp</result>
<result name="no_logged">/login.jsp</result>
</global-results>
...
<action name="login" class="org.apache.struts.gesprod.produccion.BLUsuario" method="loginUsuario">
<result name="success" type="redirect">/welcome.jsp</result>
<result name="incorrecto_login">/login.jsp</result>
<result name="input">/login.jsp</result>
</action>
의 login.jsp :
<div id="login">
<s:fielderror />
<s:form id="login_form" action="login" validate="true">
<s:hidden name="intento_log" value="true" />
<s:textfield name="usuario.username_usuario" label="Usuario"/>
<s:password name="usuario.password_usuario" label="Password"/>
<s:submit value="Ingresar"/>
</s:form>
</div>
그리고 Action 클래스와 같은 패키지에 배치 XML 유효성 검사기.
BLUsuario-로그인-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>
<field name="usuario.username_usuario">
<field-validator type="requiredstring">
<message>Show error!</message>
</field-validator>
</field>
</validators>
내 코드에 문제가 있다면 누군가의 도움과 통지 할 수 있습니까?
글쎄, 나는 "입력"결과가 전역으로 매핑되어 있음을 알게되었습니다. 이것은 귀하의 문제의 일부일 수 있습니다. 유효성 검사가 실행되고 실패하면 입력 결과를 반환합니다. 따라서 login.jsp에 필드 오류를 표시하려면 입력 작업을 위해 입력 결과를 해당 JSP에 맵핑해야합니다. – rees
@rees 감사합니다. 나는 당신이 제안한 바를 행했으며, 당연시해야한다고 생각합니다. 그러나 필드가 잘못되어도 "입력"결과가 반환되지 않는 것처럼 여전히 유효성 검사를 수행하지 않습니다. –