You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Jira)" <ji...@apache.org> on 2022/10/04 06:05:00 UTC

[jira] [Closed] (WW-2556) Ajax validation does not work in portlets.

     [ https://issues.apache.org/jira/browse/WW-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lukasz Lenart closed WW-2556.
-----------------------------
    Resolution: Won't Fix

> Ajax validation does not work in portlets.
> ------------------------------------------
>
>                 Key: WW-2556
>                 URL: https://issues.apache.org/jira/browse/WW-2556
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Portlet, XML Validators
>    Affects Versions: 2.1.0
>         Environment: Struts 2.0.1 struts2-portlet-plugin struts2-dojo-plugin-2.1.0 xwork-2.1.0
>            Reporter: Vladimir Limansky
>            Assignee: Lukasz Lenart
>            Priority: Major
>
> Consider the following configuration.
> 1. EditTest.jsp:
> <sx:head/>
> <s:form action="Test!save" theme="xhtml" id="myFormId" >
>     <s:textfield name="testProperty" label="test input"></s:textfield>
>     
>     <s:hidden name="testAction" value=""/>
>     
>     <sx:submit 
>      validate="true" 
>      ajaxAfterValidation="true" 
>      targets="response" 
>      showLoadingText="false"
>      label="Submit it!"
>      formId="myFormId"/>
>         
> </s:form>
> 2. TestAction.java
> public class TestAction extends BaseActionSupport {
> 	
> 	private String testProperty = null;
> 	
> 	@Override
> 	public String render() throws Exception {
> 		return SUCCESS;
> 	}
> 	
> 	@Transactional
> 	public String save() {
> 		return NONE;
> 	}
> 	public String getTestProperty() {
> 		return testProperty;
> 	}
> 	public void setTestProperty(String testProperty) {
> 		this.testProperty = testProperty;
> 	}
> 	
> }
> 3. TestAction-validation.xml 
> <validators>
>   <field name="testProperty">
>       <field-validator type="requiredstring">
>           <message key="calendar:TitleIsRequired"/>
>       </field-validator>
>   </field>
> </validators>
> 4. struts.xml
>  <struts>
>     <include file="struts-default.xml"/>
>     <include file="struts-portlet-default.xml"/>
>     <include file="sibutu-default.xml"/>
>         
>     <package name="calendar" extends="sibutu-default">
>         <action name="Test" class="org.sibutu.module.calendar.action.TestAction">
>             <interceptor-ref name="jsonValidationWorkflowStack"/>
>             <result>/WEB-INF/jsp/Test.jsp</result>
>             <result name="input">/WEB-INF/jsp/EditTest.jsp</result>
>             <result name="none">/WEB-INF/jsp/Test.jsp</result>
>         </action>        
>     </package>
>     
> </struts>
> Currently I have the following behavior:
> 1. The expected error message appears just emmidiately on the page startup, NOT after submit button had been pushed.
> 2.  When submit button had been pressed error message disappears - even if we assume that validation fails (the field was left blank with "requiredstring" validator).
> 3. http://struts.apache.org/2.x/docs/ajax-validation.html says the following:
> "Remember to set struts.enableJSONValidation=true in the request to enable AJAX validation"
> But trying to debug JSONValidationInterceptor I noticed that struts.enableJSONValidation parameter is null. Where this parameter should be set? An attempt to put it to struts.properties gives nothing. But even when I tried to set this parameter manually during debug session, it did not cause the desired result.
> In the struts2-showcase-2.1.0.war struts example validation works pretty fine.
> Please let me know whether you need any additional info.
> Please 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)