Client-side programmatically submit???

Hi!
I need to make SelectOneChoice to submit ONLY when user press enter key (standard autosubmit is not acceptable as it submits each time user scrolls a list with cursor keys - which 99% users do!). So I need to "catch" enter keyPress with clientListener. But I have not found any documentation on ADF RC client-side API.
Any help appreciated!

Hi Frank!
You are right on this. Thank you for consideration and filling ER.
In addition, true root of my problem is a fact that selectOneChoice is not considered Action source! The ValueChange event happens before Update Model phase, and any action bindings inoked even from ValuChange event are mostly useless (as the new value selected in list is not yet updated in bindings). I have to trick the ADFm by using auxiliary property in backing bean to indicate that value is changed and then to let ADFm executable to fire the appropriate action in Render Model phase.
Anyhow, all this is very complicated to achieve very simple and common use-case: invoce some action binding (i.e. method in Session Bean) on autosubmit of selectOneChoice (most likely same should be available for other list components).
Considering that most agile UIs rely on drop-down lists (and other lists) that mass data-entry users prefer to use only with keyboard navigation, this I consider major drawback in ADF RC component functionality. And I appeal on ADF team to consider implementation of this enhancement ASP.
I would like to hear form Simon and Ric on this issue also. I stress that such "accessibility" is of great importance for certain UI uses-cases.
Regards,
Pavle

Similar Messages

  • How to copy a page( webpart page) with its content using client side.

    How to copy a page(in my case  webpart page) with its content(it may contain webparts) using client code (i mean using SPservices or ECMA script).
    What i am planning is ,to give end user a page where it will contain text box to specify  name of page and a button with the help of  content editor webpart.
    where on click of button we need to write client side code such that it should create a new page from a existing page in a library with given name by user.
    Any suggestion would be helpful. For your information we can do it through UI with the help Site Actions / Manage Content and Structure.But i want to automate it using client side code.Server side code is restricted.
    or can we create a template of an existing page with content without the help of sharepoint designer.
    Thanks in advance
    with regards Ravichandra

    This is good example
    http://balajiindia.wordpress.com/2011/05/27/using-jquery-with-custom-web-services-in-sharepoint/
    Create web service
    http://balajiindia.wordpress.com/2011/05/27/using-jquery-with-custom-web-services-in-sharepoint/. Create method "Create Page" http://www.learningsharepoint.com/2010/09/17/create-publishing-pages-sharepoint-2010-programmatically/
    Build your Java Script. You can use Content Editor Web Part if you want to avoid custom web part development http://www.codeproject.com/Articles/544538/JQuery-with-SharePoint
    Oleg

  • Why does IE8 running on XP and Win7 Virtual Machine deletes the history while I'm still browsing the same site with client-side hashbang routing?

    Hello, 
    I have a asp.net mvc 5 web application running on .net 4.5 hosted on my local windows 8 machine on macbook pro using parallels. I'm running Internet Explorer 8 Version: 8.0.6001.18702 running on XP and Version: 8.0.7601.17514 running on Windows 7 Enterprise.
     I've got both of the virtual machine source from www.modern.ie 
    My web application is attempting to provide single page user experience by having some client-side routing by using '#!/xxx' hashbangs in the url so that I can get and post via ajax and change the hash in  the url without causing the page to reload. My
    code works fine in IE9+ and other modern browsers.
    However, I'm facing this strange issue in both of the IE8 versions. When running my demo app in IE8, I can login, view home page and can navigate from this home page to many details page. From the very first login page, all the pages are the result
    of form's post action via ajax which then expects html from server and loads in the DOM. The page structure of my app is like summary form => Details page (can also contain summary forms) => Details...so on.
    The above process works fine for few of the navigation steps. If I keep navigating from one page to another & go back, I have observed that the browser back button is removing the history items slowly. And a time comes when it totally forgets about
    all the history pages that I visited to reach this current page I'm viewing!! It treats like I have just started my browsing session and this current page is the first page I've landed on with no back option. Now if I again try to navigate, I have encountered
    problems like both the back and forward buttons gets disabled.
    Hope, my words above is clear enough to explain this problem. The same application works fine in IE9+ and other browsers. 
    Till now, I have tried following steps on both VMs: 
    Resetting IE8.
    Increasing disk space to 1024mb for temporary internet files storage.
    Setting 'Never' for Check for newer versions of stored pages.
    Disabling the automatic crash recovery feature didn't helped in this case. Found this on support website.
    Deleted temporary files, history, cache, etc many a times.
    Search many forums, posted question on StackOverflow, ASP.NET
    Forums - but didn't helped.
    Tried 'beforeunload' event of browser to see if any of the page is reloading because of submit or any other reason. But the page doesn't reload at all.
    The issue is browser forgets about the browsing history while I'm still browsing the same site. 
    Is there any possible fix for the issue above? Does IE8 have any issues as many ajax form post is happening on every page? 

    I have really tried many things to identify any possible reason of the issue above. Even rewrote all my javascript navigation code and checked server-side code.
    But the only place where I got the solution is at site: http://www.enhanceie.com/ie/bugs.asp which states that there is a bug in IE8 which reads like:
     IE0012: IE Travellog broken when navigating back/away from a page with
     a large POST form If there is a form input field with a value longer
     than 523,659 characters, when you navigate away from the page, IE may
     clear the current session's travellog (similar to history), disabling
     the back and forward buttons. Repros in IE6 & IE7.
    There are following solutions that you can go for:
    - Check for the input field that has lots of characters as mentioned above and solve your problem.
    - If you have control over the system where IE8 will be used, you can add the following registry key on that machine. There is no existing key, so, you need to add a new one:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TravelLog] "MaxSize"=dword:ffffffff
    I am really relaxed to find this information as I spent really long time to solve this issue. Hope this will help someone.

  • How to Disable client side validation for the message text input

    Hi,
    I have scenario where i need to by pass the client side validation for a message text input
    Scenario is
    I have a message text input field(say XYZ), i set the max length for the item as 20
    Now when im trying to enter the greek characters into it, it is allowing me to enter till 20 characters
    But when i try to submit the form ..my client side validation is firing..
    The Error says the XYZ is too long
    The problem is, in greek each character takes two bytes.(In english it is only 1).While entering the content it allowing 20 characters and when validating it is checking for bytes(if we enter in greek the length will be 40 bytes not 20)
    I cannot increase the max length .coz i have restrict the character length to 20 only.(english or Greek).
    Please help me in this regard.
    Regards
    Sandeep.

    Thanks for the information.But we dont have any option either declaratively or programatically to disable the client side validation for the message text input..I referred java docs ..i dint find any method which does..
    Correct me if im wrong

  • How to implement server side methods in client side player from main.asc?

    Hi,
    I am developing video player using RTMP NetConnection and NetStream object but it is giving me below Error. Can you please tell me how can I handle this. I have main.asc file form FMS server side but I don't know how to use it. 
    Async Error found = <br>Error #2095: flash.net.NetConnection was unable to invoke callback setUserID.
    Async Error found = <br>Error #2095: flash.net.NetConnection was unable to invoke callback syncChat.
    Async Error found = <br>Error #2095: flash.net.NetConnection was unable to invoke callback playingNotComplete.
    Async Error found = <br>Error #2095: flash.net.NetConnection was unable to invoke callback nowPlaying.
    Can anyone please help me ot solve this issue?
    Best regards,
    Sunil kumar

    javascript are run on the client side.. but i think what you actually mean is getting some validation to your database without submitting the form?. yes it doesn't consumes time and memory of server.. why not use ajax so you can only submit a little request.. rather than submitting the whole page..

  • Client side eventing with HTMLB in a jsp file

    Hi All,
    Can u give me the solution to work with client side eventing with HTMLB with a jsp page but not with a dynpage.
    Regards,
    sireesha.

    Hi sireesha,
      Check this.
    <%@ taglib uri="tagLib" prefix="hbj" %>
    <%@ page import="com.sapportals.htmlb.enum.EventTrigger,com.sapportals.htmlb.event.Event" %>
    <hbj:content id="myContext" >
    <hbj:page title="PageTitle">
    <script language="Javascript">
    function checkinput(){
         var funcName = htmlb_formid+"_getHtmlbElementId";
         func = window[funcName];
         var inputfield1 = eval(func("inf1"));
         var input1 = inputfield1.getValue();
         if (input1==""){
              alert("Enter mandatory fields");
    </script>
    <hbj:form>
    <hbj:textView id="tv1" text="Name"/>
    <hbj:inputField id="inf1"
    type="String"
    required="true"
    jsObjectNeeded="true">
    <% inf1.setClientEvent(EventTrigger.ON_BLUR, "checkinput()"); %>
    </hbj:inputField>
    <br>
    <hbj:textView id="tv2" text="City"/>
    <hbj:inputField id="inf2" type="String"/>
    <hbj:button id="b1" text ="submit" onClick="onSubmitclicked"/>
    </hbj:form>
    </hbj:page>
    </hbj:content>
    Regards,
    Harini S

  • STRUTS: client-side validation in jsp using  DynaValidatorForm

    I am supposed to work on struts on as project and it is like learning a crash course and work the next day.
    In Struts 1.1 enviroment, I am using DynaValidatorForm to create a bean form and then perform validation.
    1. I write a DynaValidatorForm definition in struts-config.xml
    2. I write xml for action so that when /getQuotes.do in invoked by a jsp form, the form data is put into the QuoteDetailsBean.
    3. add the plugin script for ValidatorPlugIn
    xml fragment from struts-config:
    //form bean
    <form-beans>
    <form-bean name="QuoteDetailsBean" type="org.apache.struts.validator.DynaValidatorForm">
        <form-property name="forename" type="java.lang.String"/>
       <form-property name="surname" type="java.lang.String"/>
    <form-bean>
    </form-beans>
    <action
            path="/getQuotes"
            type="com.kainos.quickquotes.struts.QQGetQuotesAction"
            validate="true"
            name="QuoteDetailsBean"
            input="/userform1.do"
            parameter="save"
            scope="session">
            <forward name="success" path="/pages/jsp/result.jsp"/>
            <forward name="back" path="/userform1.do"/>
    </action>
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
         <set-property
             property="pathnames"
             value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
      </plug-in>Now I write a validation code for getQuotes.do. note that I can write the validation code with
    <form name="QuoteDetailsBean"> but this form bean is shared by many jsp, so i am using the name of the action
    (getQuotes) as the name of the form in the validation.xml.
    So far this looks okay, as I am going by some example.
    xml fragment from validation.xml:
    <formset>
              <form name="/getQuotes">
                 <field property="forename" depends="required,minlength">
                    <arg0 key="QuoteDetailsBean.forename" />
                    <arg1 name="minlength" key="${var:minlength}" resource="false"/>
                    <var>
                       <var-name>minlength</var-name>
                       <var-value>2</var-value>
                    </var>
                 </field>
                 <field property="surname" depends="required,minlength">
                <arg0 key="QuoteDetailsBean.surname" />
                <arg1 name="minlength" key="${var:minlength}" resource="false"/>
                <var>
                   <var-name>minlength</var-name>
                   <var-value>2</var-value>
                </var>
                 </field>
    </formset>Now I write the JSP. I use the <html:javascript> tag to allow front-end validation based on the xml in validation.xml.
    The jsp code:
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <html:html locale="true">
    <head>
    <title><bean:message key="welcome.title"/></title>
    <html:base/>
    <html:javascript formName="/getQuotes"
                method="validateForm"
                dynamicJavascript="true"
                staticJavascript="false"
                cdata="false" />
    </head>
    <body bgcolor="#FFCC9F">
    <html:errors />
    <html:form action="getQuotes.do" onsubmit="return validateForm(this);" >
    Forename:</td> <td>���<html:text property="forename"/></td></tr>
    <tr> <td>Surname:</td> <td>���<html:text property="surname"/></td></tr>
    <html:submit value="Quotes" /></td></tr>
    </html:form>
    </body>
    </html:html>Does this looks okay. I wrote so far based on some tutorials n help online.
    Now when I open the JSP and then do a submit, there is no validation (I tried by submitting with empty forename and surname. I mean i could invoke the action class and the invoke class
    redirects(forwards) to the appropriate path. so the code works fine except validation is not done
    Q1. So what should i do more to get client-side validation?
    What actually happens in client-side validation? does a pop up alert appears?
    nothing happens so far in my case.
    Q2. What should I do more for server side validation. Since the form is incomplete, what happens?
    I thought the same form returns and the error messages are printed in the jsp page since i have the <html:errors />
    tag just below the <body> tag.
    The action class is pretty simple so far:
    public class QQGetQuotesAction extends Action {
        public QQGetQuotesAction(){
    public ActionForward execute(ActionMapping mapping,
                 ActionForm form,
                 HttpServletRequest request,
                 HttpServletResponse response)
        throws Exception {
            DynaValidatorForm dynaform = (DynaValidatorForm)form;
            System.out.println("forename:"+dynaform.get("forename");
            System.out.println("surname:"+dynaform.get("surname");
            return forward=mapping.findForward("back");
    }Please help me out. I think I am missing something which i need to do
    thanks
    Tanveer

    I think the validations are to be declared on the form
    name and not the action path.
    Your formName is QuoteDetailsBean but your are using
    the action path(/getQuotes) both in the validation
    rules and the jsp tags. Use the formName on both the
    places.
    Also your html:javascript tag will not generate the
    static javascript to validate the fields. For this you
    will have to add code like below.
    <html:javascript dynamicJavascript="false"
    staticJavascript="true"/>
    Other options is to set the attribute
    staticJavascript="true" in your html:javascript tag.
    Hope it helps.hi
    staticJavascript="true" did the trick. :)
    I think the validations are to be declared on the form name and not the action path.It is not necessary. You can declare the validation on the action class. This is essential if a form bean is shared by several JSPs having its own action class. This is as per as I read in a tutorial and it works.

  • Does URL Services support client side script?

    My ASP page it built as a portlet, and displays fine but it
    won't submit. When I view the Source in my browser, Portal
    didn't include any of my client side vbscript script, then html
    is there but everything else is missing....
    Question: Does URLServices support client-side VBScript?
    I am using some vbscript for validation purposes and then
    using the document.ChangePassword.submit() to submit the
    form.
    If URLServices doesn't support it, then URLServices is totally
    useless... Everyone uses some kind of client-side script to
    validate the form!

    Hi Rea,
    Per my understanding you want to know some information about using the Visual Studio to do the debugging, right?
    Example, If you want to debug a customized extension for SQL Server Reporting Services(SSRS) in Visual Studio, you can attach the process to ReportingSerivcesService. We need to check the items "Show processes from all users" and "Show
    processes in all sessions" to show the "ReportingSerivcesService. exe" process.
    Additionally, please make sure the customized extension is invoked in the Reporting Services(make sure all configurations is set correctly), otherwise we won't be able to run into the breakpoint. More Details information in this article for your reference:Start
    a debugging session for a Store app in Visual Studio (VB, C#, C++ and XAML)
    You can also add the debugger keyword in the code, see
    Debug JavaScript and jQuery using Visual Studio in Internet Explorer browser
    Similar thread below for your reference:
    https://social.msdn.microsoft.com/Forums/sqlserver/en-us/df9dfaab-59af-4a85-916c-ef9e11e07071/debug-custom-net-assembly-in-context-of-sql-reporting-server-2008?forum=sqlreportingservices
    If you still have any problem, please feel free to ask.
    Regards
    Vicky Liu

  • Client-side handler: static config?

    I would like to provide a client-side JAX-RPC handler that would
    be invoked without any modification to existing client code.
    The idea is that user's would only need to modify a config file
    (something like the web-services.xml file, but on the client-
    side) to use our handler.
    We are already doing this in axis (uses a client-side deployment
    descriptor: client_deploy.wsdd), but based on another thread
    ("Client Handler Chain - help ??"), it looks like there is
    currently no equivalent in WLS?
    Are there plans to add the ability to statically configure
    client-side handlers in WLS via some sort of client-side config
    file/descriptor, or is the programmatic method of modifying
    the HandlerRegistry in the client code the only way?
    Any help/ideas would be greatly appreciated!
    --Terry

    In 7.0, you can do this in a handler:
    import weblogic.webservice.binding.soap.HttpClientBinding;
    String url = http://my/new/address/;
    sslAdapter = null; //only needed for ssl
    Binding binding = new HttpClientBinding( url, sslAdapter );
    context.setProperty( WLMessageContext.BINDING_PROP,
    binding );
    HTHs
    -manoj
    http://manojc.com
    "William Cassidy" <[email protected]> wrote in message
    news:[email protected]...
    >
    Is there a similar way to set the endPointAddress.
    "manoj cheenath" <[email protected]> wrote:
    Ok, I will add this as a feature request.
    If you are ok with using WLS internal APIs (This APIs may change in
    the future), try this:
    weblogic.webservice.Operation operation
    =
    ((weblogic.webservice.WLMessageContext)messageContext).getOperation();
    >>
    weblogic.webservice.Port port = operation.getPort();
    String endPointAddress = port.getAddress();
    regards,
    -manoj
    "Terry Martin" <[email protected]> wrote in message
    news:[email protected]...
    Manoj, thanks for the response.
    We'd definitely like to see a client side dd at some point, but
    can work with the API's for now. Thanks much for adding this as
    a feature request.
    On another subject:
    I need to determine the target/endpoint URL from my client-side
    request handler. Again, this was something we were able to do in
    axis, but is currently not part of the JAX-RPC standard (JSR101).
    I could be missing something, but haven't seen any way of
    determining the target URL given only the SOAPMessageContext.
    The only way seems to be if it were passed as a "standard"
    property in the SOAPMessageContext (this is one way it is done
    in axis).
    I imagine this will someday be standardized in JAX-RPC (I can
    think of many uses for this feature, other than our own). In the
    meantime, could you also add this as a feature request for WLS?
    Thanks again,
    -Terry
    "manoj cheenath" <[email protected]> wrote:
    True. In WLS 7.0 there are no client side dd in which you can specify
    the handler chain. We did not comeup with ourown client side dd,
    hopeing that JSR109 will define the dd.
    It is quite easy to register the handlers through APIs. Let us know
    if
    that will not help you.
    I will add client side dd as a feature requst for the next release.
    regards,
    -manoj
    "Terry Martin" <[email protected]> wrote in message
    news:[email protected]...
    I would like to provide a client-side JAX-RPC handler that would
    be invoked without any modification to existing client code.
    The idea is that user's would only need to modify a config file
    (something like the web-services.xml file, but on the client-
    side) to use our handler.
    We are already doing this in axis (uses a client-side deployment
    descriptor: client_deploy.wsdd), but based on another thread
    ("Client Handler Chain - help ??"), it looks like there is
    currently no equivalent in WLS?
    Are there plans to add the ability to statically configure
    client-side handlers in WLS via some sort of client-side config
    file/descriptor, or is the programmatic method of modifying
    the HandlerRegistry in the client code the only way?
    Any help/ideas would be greatly appreciated!
    --Terry

  • Struts 2 Client side validation getting skipped.

    I am doing a simple program using struts 2. Usually in struts2 bean class will be combined with action class unlike in struts 1.2. But for enhancing readability I made a seperate bean class and I reference it in my action class. But after seperating bean from action class Client side validation using xml is not happening. It is getting skipped. But server side validation inside execute() is happening. Will anyone please help me to find a solution to make client side validation run.
    here are the different files.
    1) JSP File - SEmail.jsp
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
    <s:head theme="ajax" />
    <title>SEmail </title>
    <body>
    <center><font color="blue" size="5" face="bold">
    <s:label     value="Secure Email - Non Registered User" /> </font></center>
    <br>
    <font color="red" size="3"> <s:label
         value="Want to contact us?."></s:label>
    </font>
    <center><s:form action="/Semail.action" method="POST"
         validate="true">
         <s:actionerror />
         <s:select label="Topic" name="user.topic" headerKey="-1" required="true"
              list="#{'Plan Coverage':'Plan Coverage','Sales':'Sales','Others':'Others'}">
         </s:select>
         <s:textarea name="user.message" label="Message" rows="4" cols="50"
              required="true" />
         <br>
         <s:label value="Contact Information" />
         <br>
         <table align="center" width="500">
              <tr align="left">
                   <td align="left"><s:select label="Title" name="user.title"
                        headerKey="-1" required="true"
                        list="#{'-- Select One --':'-- Select One --','Mr.':'Mr.','Ms.':'Ms.','Mrs.':'Mrs.'}">
                   </s:select></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="First Name"
                        name="user.firstname" size="20" maxlength="35" required="true" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="Family Name"
                        name="user.familyname" size="20" maxlength="35" required="true" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="Profession"
                        name="user.profession" size="20" maxlength="20" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="Address" name="user.address"
                        size="20" maxlength="100" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="Telephone Number"
                        name="user.telnumber" size="20" maxlength="20" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="P.O. Box" name="user.pobox"
                        size="20" maxlength="8" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="City"
                        name="user.emirate" size="20" maxlength="35" required="true" /></td>
              </tr align="left">
              <tr>
                   <td align="left"><s:textfield label="Region and Country"
                        name="user.country" size="20" maxlength="35" /></td>
              </tr>
              <tr align="left">
                   <td align="left"><s:textfield label="E-mail Address"
                        name="user.email" size="20" maxlength="70" required="true" /></td>
              </tr>
         </table>
         <br>
         <s:file name="user.uploadFile" label="Upload Document" />
         <br>
         <br>
         <s:submit value="Submit" align="center"></s:submit>
    </s:form></center>
    <font color="red" size="3"> <s:label
         value="All fields marked (*) are mandatory."></s:label>
    </body>
    </html>
    2) struts.xml
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
         <package name="semail" extends="struts-default">
              <action name="Semail" class="semail.NonregUser">
                   <result name="input">/SEmail.jsp</result>
                   <result name="error">/SEmail.jsp</result>
                   <result>/SEmail.jsp</result>
              </action>          
         </package>     
    </struts>
    3) Bean Class - User.java
    package semail;
    public class User {
         private String topic;
         private String message;
         private String title;
         private String firstname;
         private String familyname;
         private String profession;
         private String address;
         private int telnumber;
         private String pobox;
         private String city;
         private String country;
         private String email;
         private String uploadFile;
         private String testing;
         public String getTopic() {
              return topic;
         public void setTopic(String topic) {
              this.topic = topic;
         public String getMessage() {
              return message;
         public void setMessage(String message) {
              this.message = message;
         public String getTitle() {
              return title;
         public void setTitle(String title) {
              this.title = title;
         public String getFirstname() {
              return firstname;
         public void setFirstname(String firstname) {
              this.firstname = firstname;
         public String getFamilyname() {
              return familyname;
         public void setFamilyname(String familyname) {
              this.familyname = familyname;
         public String getProfession() {
              return profession;
         public void setProfession(String profession) {
              this.profession = profession;
         public String getAddress() {
              return address;
         public void setAddress(String address) {
              this.address = address;
         public int getTelnumber() {
              return telnumber;
         public void setTelnumber(int telnumber) {
              this.telnumber = telnumber;
         public String getPobox() {
              return pobox;
         public void setPobox(String pobox) {
              this.pobox = pobox;
         public String getCity() {
              return city;
         public void setCity(String city) {
              this.city= city;
         public String getCountry() {
              return country;
         public void setCountry(String country) {
              this.country = country;
         public String getEmail() {
              return email;
         public void setEmail(String email) {
              this.email = email;
         public String getUploadFile() {
              return uploadFile;
         public void setUploadFile(String uploadFile) {
              this.uploadFile = uploadFile;
         public String getTesting() {
              return testing;
         public void setTesting(String testing) {
              this.testing = testing;
    This is my bean class. Instead of putting it with action class NonregUser.java , I have seperated it out for readability. And I am referencing it in the action class.
    4) Action Class - NonregUser.java
    package semail;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts2.interceptor.ServletRequestAware;
    import org.apache.struts2.interceptor.ServletResponseAware;
    import com.opensymphony.xwork2.ActionSupport;
    public class NonregUser extends ActionSupport implements ServletRequestAware,
              ServletResponseAware {
         private static final long serialVersionUID = 2451855813074437309L;
         HttpServletRequest request = null;
         HttpServletResponse response = null;
         private User user = null;
    /* I am referencing my bean class here instead of writing all the getters and setters here.*/
         public User getUser() {
              return user;
         public void setUser(User user) {
              this.user = user;
         public String execute() throws Exception {
              System.out.println("Validating login");
              if(user!=null){
                   System.out.println(user.getFirstname());
                   System.out.println(user.getEmail());
                   System.out.println(user.getTopic());
                   System.out.println(user.getTitle());
    // this server side validation is happening
                   if (user.getTitle().trim().equals("-- Select One --")) {
                        addActionError("Please select Title");
                        return ERROR;
                   } else {
                        return SUCCESS;
              }else{
                   return SUCCESS;
         public void setServletRequest(HttpServletRequest arg0) {
              System.out
                        .println("HttpServletRequest : " + NonregUser.this.getClass());
              request = arg0;
         public void setServletResponse(HttpServletResponse arg0) {
              System.out.println("HttpServletResponse : "
                        + NonregUser.this.getClass());
              response = arg0;
    This is my acation class. Here I am referencing my bean class User.java.
    5) xml validation file - NonregUser-validation.xml
    /*This client validatin is not working*/
    <?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="topic">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please select the Topic</message>
              </field-validator>
         </field>
         <field name="message">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please enter Message</message>
              </field-validator>
              <field-validator type="stringlength">
                   <param name="maxLength">8000</param>
    <message>Message cannot contain more than 8000 characters</message>
              </field-validator>
         </field>
         <field name="title">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please select the Title</message>
              </field-validator>
         </field>
         <field name="firstname">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please enter First name</message>
              </field-validator>
              <field-validator type="stringlength">
                   <param name="maxLength">35</param>
    <message>First Name cannot contain more than 35 characters</message>
              </field-validator>
         </field>
         <field name="familyname">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please enter Family name</message>
              </field-validator>
              <field-validator type="stringlength">
                   <param name="maxLength">35</param>
    <message>Family Name cannot contain more than 35 characters</message>
              </field-validator>
         </field>
         <field name="emirate">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please enter Emirate/City</message>
              </field-validator>
         </field>
         <field name="email">
              <field-validator type="requiredstring">
                   <param name="trim">true</param>
                   <message>Please enter Email address</message>
              </field-validator>
              <field-validator type="email">               
                   <message>Please enter a valid Email address</message>
              </field-validator>
         </field>
    </validators>
    6) web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
         <filter>
         <filter-name>struts2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
         </filter>
         <filter-mapping>
         <filter-name>struts2</filter-name>
         <url-pattern>/*</url-pattern>
         </filter-mapping>
         <welcome-file-list>          
              <welcome-file>/SEmail.jsp</welcome-file>
         </welcome-file-list>     
         <error-page>
    <error-code>404</error-code>
    <location>/pagenotfound.jsp</location>
    </error-page>
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error.jsp</location>
    </error-page>
    </web-app>
    Edited by: L-J-K on Jul 22, 2008 5:22 AM

    I was trying to do it through creating a new validators.xml where I would redefine all struts built in validations and add de definition for my custom Validation (<validator name="checkUser" class="com.custom.CustomUserValidator"/>). Then I define the ActionClassName-action-validation.xml refering to my custom validator (checkUser). The com.custom.CustomUserValidator Class has to extend FieldValidatorSupport or ValidatorSupoort (depending on what kind of validation).
    Ok that's it, this is the theory, now the custom validator (checkUser) is executed before my action but I don't know how to do it so that if the validation fails i return to the same page showing the error message to the user without having to execute the target action. Does anyone know how to do this????

  • Struts client side validation....

    Hello all,
    I am using struts client and server validation but only the server validation works. I tired looking around the forum but wouldnt find any similar problem.
    I am getting value from the previous action class and i am able to successfully retrieve and display the value. I inserted the value in a object and pass over to my jsp. When i try inserting the validation, the server side works fine but i get nth on the client side. I viewed the source code of my jsp and the JAVASCRIPT is successfully inserted but no pop up when i leave the fill blank. Please advise mi..
    1)update.jsp will retrieve data from a object and display them in text box
    struts config file**
    <form-bean name="UpdateMarks" type="fypms.form.UpdateMarksForm" />
    <action name="UpdateMarks"
    path="/updateMarks"
    type="fypms.action.UpdateStudentMarks"
    scope="request"
    validate="true"
    input="/pages/UpdateStudentMarks.jsp" >
    <forward name="successfulUpdate" path="/pages/successfulUpdate.jsp" />
    <forward name="wrongHelloId" path="/pages/wrongHelloWorld.jsp" />
    </action>
    <message-resources parameter="MessageResources"/>
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property
    property="pathnames"
    value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
    validation.xml**
    <!-- javascript validation for Update Presentation marks page -->
    <form name="UpdateMarks">
    <field property="first_Present"
    depends="creditCard">
    <arg key="prompt.firstPresent" />
    </field>
    <field property="final_Present"
    depends="creditCard">
    <arg key="prompt.finalPresent" />
    </field>
    </form>
    updatemarksform.java**
    private String adminNo[];
         private String first_Present[];
         private String final_Present[];
         private String batchNumber;
         //private String batchNumber;
         public ActionErrors validate( ActionMapping mapping, HttpServletRequest request)
              ActionErrors errors = new ActionErrors();
              List testing = new ArrayList();
              System.out.println("out");
              for(int x=0; x < first_Present.length;x++)
                   System.out.println("firsT" + first_Present[x].length());
                   if (first_Present[x].length()<1)
                        System.out.println("a");
                        //userId not entered
                        errors.add("marks.firstPresentation", new ActionMessage("marks.firstPresentation"));
                   if (final_Present[x].length()<1)
                        //password not entered
                        errors.add("marks.finalPresentation", new ActionMessage("marks.finalPresentation"));
              request.setAttribute("StudentList", testing);
              return errors;
    update.jsp**
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ page import="fypms.model.*" %>
    <link href="/FYPMS/css/style.css" rel="stylesheet" type="text/css">
    <!--Can contains: JSP -->
    <html:html locale="true">
    <html:form action="/updateMarks" method="post" onsubmit="return validateUpdateMarks(this);">
    <html:errors/>
         <table>
    <tr>
    <td>Name</td>
    <td>Admin Number</td>
    <td>First Presentation</td>
    <td>Final Presentation</td>
    </tr>
    <logic:iterate id="myCollectionElement" name="StudentList">
    <tr>
    <td> <bean:write name="myCollectionElement" property="name"/><html:hidden name="hiddenBatch" property="batchNumber"/></td>
    <td> <bean:write name="myCollectionElement" property="adminNo"/><html:hidden name="myCollectionElement" property="adminNo"/></td>
    <td> <html:text name="myCollectionElement" property="first_Present" /></td>
    <td> <html:text name="myCollectionElement" property="final_Present" /> </td>
    </tr>
    </logic:iterate>
    >
    <tr><td colspan="4"><html:submit value="enter"/></td></tr>
         </table>
    <!-- Begin Validator Javascript Function-->
    <html:javascript formName="UpdateMarks" staticJavascript="true" />
    <!-- End of Validator Javascript Function-->
    </html:form>
    </html:html>
    thank in advance

    # -- validation text(display text) for login page --
    valid.title=Simple Validation Test Form
    prompt.username=Username
    prompt.password=Password
    prompt.phone=Phone Number
    prompt.email=E-Mail Address
    prompt.url=URL (Website Address)
    login.userid = Username is required
    login.password = Password is required
    #-- validation text(display text) for Update presentation marks page --
    prompt.firstPresent=first_Present
    prompt.finalPresent=final_Present
    marks.firstPresentation=First Presentation marks is required
    marks.finalPresentation=Final Presentation marks is required
    thx for ur help ^^
    Message was edited by:
    fatmond

  • ADF validator or JavaScript for client side validation ?

    using JDev and ADF 11g
    Problem description : To apply validations such as date range check, pattern matching, maxlength etc.. on ADF Faces Components.
    Solution 1: Use ADF validator such as Reg Expr validator, Max Length validator
    Souliton 2: Write Javascript code for validating the component's value at cleint side.
    When using ADF Validator for such type of validation checking, a request is send to the server for processing (additional overhead) . However we can do such validations with javaScript functions without the need to interact with the server. So, what benefit does ADF Validator serves when one needs to implement such validations ?
    Please share your views...

    H,
    afaik, client side validation in ADF Faces suppresses server round trips if a validation error is detected on the client. Only if no problem is found, the server side validation is challenged upon submit (so no extra round trip for validation). Shay is absolutely correct. JavaScript is a convenience but never a solution.
    Here's how to create a custom validator with a client and server side implementation : http://download.oracle.com/docs/cd/E15523_01/web.1111/b31973/af_validate.htm#BABEIIDD
    Frank

  • JSF client side state saving

    I know the following thing
    **When the HTML form is submitted it carries the view state value back to the server in the form of an HTTP parameter. JSF uses the value of this parameter to reconstruct the view during the restore view phase. The view is restored by reversing the process used to obtain the view state: it is decoded and deserialized.**
    so I have tried to run the following code in jsp page with jsf tags I was able to see the input hidden parameter with facesview state and its value
    <f:view>
            <h1>Hello World!</h1>
            <h:form>
               <h:inputText value="#{phonebean.phonenumber}" converter="Pconverter" id="input" >
            </h:inputText>
           <h:outputText value="rakeshggh" />
           <h:commandButton action="test" value="submit" />
           </h:form>
            </f:view>the encoded html output i was able to view the following hidden value which holds the view state as foolows
    <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="H4s......very big value />
    but my question is when i have removed the jsf form tag but had some components in the view but there was no hidden element which holds the view state on
    client side , so I was wondering how the view state that stores on the client side goes to the server and gets reconstructed i.e the tree of components .It would
    be great if someone throws light on this I would appreciate it !!!

    rocky_nirvana wrote:
    **When the HTML form is submitted it carries the view state value back to the server in the form of an HTTP parameter. JSF uses the value of this parameter to reconstruct the view during the restore view phase. The view is restored by reversing the process used to obtain the view state: it is decoded and deserialized.**
    so I have tried to run the following code in jsp page with jsf tags I was able to see the input hidden parameter with facesview state and its value
    <f:view>
    <h1>Hello World!</h1>
    <h:form>
    <h:inputText value="#{phonebean.phonenumber}" converter="Pconverter" id="input" >
    </h:inputText>
    <h:outputText value="rakeshggh" />
    <h:commandButton action="test" value="submit" />
    </h:form>
    </f:view>the encoded html output i was able to view the following hidden value which holds the view state as foolows
    <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="H4s......very big value />This is by the way only applicable if you have set view state saving to the Client Side.
    but my question is when i have removed the jsf form tag but had some components in the view but there was no hidden element which holds the view state on
    client side , so I was wondering how the view state that stores on the client side goes to the server and gets reconstructed i.e the tree of components .It would
    be great if someone throws light on this I would appreciate it !!!As GET requests are idempotent, JSF can just reproduce the same view at the server side.

  • Validating data in client side

    Hi,
    I'm developing a web application using Struts framework.
    and my questions is, does the validate method int the ActionForm replaces the using javascript validation?
    If I can do all the validations in this validate method, so does that mean that i'm not going to use JS at all?

    Client side validation is usually a subset of the validation done on the server side (ie, server side duplicates the client side validation, and then some).
    I usually only do some basic client side validation such as:
    a textfield is null, but shouldn't be
    a textfield should be in this format but isn't: mm/dd/yyyy
    a textfield should be a number but contains a letter.
    If these conditions occur, dont submit the form, pop up a warning dialog box instead.

  • RDS WS2012R2 and "Client Side rendering"

    Hello,
    Is it normal that the CSR key continues to populate even if the CSR is disabled (verified with 'Get-Printer -Full |fl')?
    BTW winprint is used for all the printers on the print servers, and non-microsoft monitors are deleted.
    Thx,
    Ludovic H.

    Hi,
    Thank you for posting in Windows Server Forum.
    If you disable this policy setting on a client computer, the client itself will process print jobs into printer device commands. These commands will then be sent to the print server, and the server will simply pass the commands to the printer. This increases
    the workload of the client while decreasing the load on the server. If you do not enable this policy setting, the behavior is the same as disabling it.
    This policy does not determine whether offline printing will be available to the client. The client print spooler can always queue print jobs when not connected to the print server. On reconnecting to the server, the client will submit any pending print jobs.
    In cases in which the client print driver does not match the server print driver (mismatched connection), the client will always process the print job regardless of the setting of this policy.
    More information.
    1. Disable Client-Side Printer Rendering
    2. Known Issues with Client-Side Rendering
    Hope it helps!
    Thanks.
    Dharmesh Solanki
    TechNet Community Support

Maybe you are looking for

  • How do I configure dual monitors on JDS?

    I just have installed Solaris 10u5 on a Dell E521 with an ATI Radeon X1300 Pro graphics card. This card has 2 connectors onto which I connect a FlexScan S1911 (DVI) and an Acer AL1916 (VGA). I now have 2 problems: 1. the resolution is beyond usage (i

  • How to find pre_cupa in sap std

    plz can anyone help for thsi question

  • How can I batch save my adjusted raw images as jpgs in Lightroom 4

    I have a job that I imported to Lightroom 4.  I made adjustments to 40 of the images and would like to batch save these as jpgs with the LR adjustments saved.  So far I know I can save the raws as jpgs but the adjustments are not being saved.  I woul

  • HELP ADOBE AS3! Playing frame twice is not working

    okay so I'm almost done with my website, but i got really stuck on the last part. i have a main page that works perfectly wen i just open my site, in it are buttons that takes me to three other minor pages, there are buttons in the minor pages that t

  • Ciscoworks LMS 2.2 layer 2 trace problem

    i have a 3745 (seed device) connected to a 2611xm via a 2950 switch but the ani server cannot discover the 2611xm or even properly recognize the 2950 switch. i have configured the required snmp parameters and cdp is enabled on all devices. i can also