2
我有這樣的形式:服務器端驗證工作,但它並沒有顯示錯誤消息
<s:form
action="conexion" validate="true" theme="css_xhtml">
<s:textfield name="username" key="profile.rut" labelposition="left" />
<s:password name="password" key="profile.password" labelposition="left" />
<s:submit id="boton_ingreso" align="left" cssClass="send" value="Entrar" />
</s:form>
此驗證器:
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>*</message>
</field-validator>
<field-validator type="rutValidator">
<param name="trim">true</param>
<message>*</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>*</message>
</field-validator>
</field>
</validators>
而且這樣的定義:
<action name="conexion" class="agenda.SecurityAction">
<interceptor-ref name="profiling">
<param name="profilingKey">profilingKey</param>
</interceptor-ref>
<interceptor-ref name="jsonValidationWorkflowStack"/>
<result name="success" type="tiles">/profile.tiles</result>
<result name="error" type="redirectAction">
<param name="actionName">cliente</param>
</result>
<result name="input" type="redirectAction">
<param name="actionName">cliente</param>
</result>
</action>
該作品完美的客戶端。但是,當我從表單中刪除validate =「true」以便測試服務器端時,valdation occus和表單再次加載,但不會顯示錯誤消息。
關於相同的其他問題:我沒有使用JSON驗證,但正常的客戶端驗證。爲什麼當我刪除定義時它不起作用?
我想這是因爲也許jsonValidationWorkflowStack繼承自其他驗證攔截器。如果是這樣,可能很方便的定義另一個,而不是jsonValidationWorkflowStack。