Please try the nightly build [1]

This one was reported and should be fix [2].


[1] http://people.apache.org/builds/shale/nightly/
[2] https://issues.apache.org/struts/browse/SHALE-413


Gary
-------------- Original message -------------- 
From: "Sanjay Choudhary" <[EMAIL PROTECTED]> 

> Hi Hermod, 
> 
> 
> for the following 
> 
> scenerio 1 
> > value="#{BrokerRepresentative.companyName}" size="20"> 
> > maxlength="30" server="true" /> 
> > server="true" 
> client="false" message="#{bu.ALPHAONLY}"> 
> 
> 
> 
> if I input companyname = 123456 I see the message displayed that maps to 
> bu.ALPHAONLY but now when I change the above to 
> 
> scenerio 2 
> > value="#{BrokerRepresentative.companyName}" size="20"> 
> > maxlength="30" server="true" /> 
> > server="true" 
> client="false" message="#{bu.ALPHAONLY}"> 
> > /> ------------------> changed here 
> 
> 
> 
> I get the null pointer exception. On further looking at the code I found 
> that following method returns null 
> 
> 
> /** 
> * 
Evaluate the expression. If it's a value reference, 
> * get the reference's value. 
> * Otherwise, return the expression.

> * 
> * @param expression The expression 
> */ 
> public Object eval(String expression) { 
> if (expression == null) { 
> return null; 
> } 
> if (isValueReference(expression)) { 
> FacesContext context = FacesContext.getCurrentInstance(); 
> Application app = context.getApplication(); 
> return 
> app.createValueBinding(expression).getValue(context); ---------------> 
> this returns null. 
> } else { 
> return expression; 
> } 
> } 
> 
> Thing I don't understand is why will it return null in scenerio 2 whereas it 
> is successful in finding the same in scenerio 1. 
> 
> Also I there anyother way /solution to use the global masks. FYI, I am now 
> using 1.1.0-SNAPSHOT version 
> 
> -Sanjay 
> 
> On 3/15/07, Hermod Opstvedt wrote: 
> > 
> > Hi 
> > 
> > Since I use Clay, I solve this with symbols. Clay really makes life simple 
> > in these cases. Try using the validators "message" attribute along with 
> > the 
> > resourcebundle lookup. 
> > 
> > Hermod 
> > 
> > 
> > -----Opprinnelig melding----- 
> > Fra: Sanjay Choudhary [mailto:[EMAIL PROTECTED] 
> > Sendt: 15. mars 2007 16:45 
> > Til: [email protected] 
> > Emne: Re: Defining mask globally 
> > 
> > Hi Hermod, 
> > 
> > I will try this. I have another question regards to the mask - Is it 
> > possible to display different message for each mask validation? Is there 
> > a 
> > way I can pass the message to each of the mask validation? 
> > 
> > 
> > For example - For this validation I may like to display "Only Alpha chars 
> > are allowed" 
> > > > server="true" 
> > client="false"> 
> > > > value="#'{bu.ALPHAONLY}'" 
> > /> 
> > 
> > 
> > and for this validation I may want to display - "Only numbers are allowed" 
> > > > server="true" 
> > client="false"> 
> > > > value="#'{bu.INTONLY}'" 
> > /> 
> > 
> > 
> > Thanks, 
> > Sanjay 
> > 
> > On 3/15/07, [EMAIL PROTECTED] wrote: 
> > > 
> > > Hi 
> > > 
> > > Haven't had a look at the code yet, but could you 
> > try: > > > name="mask" value="#{globalmask['name']}" /> 
> > > 
> > > Hermod 
> > > 
> > > -----Original Message----- 
> > > From: Sanjay Choudhary [mailto:[EMAIL PROTECTED] 
> > > Sent: Wednesday, March 14, 2007 11:03 PM 
> > > To: [email protected]; [EMAIL PROTECTED] 
> > > Subject: Re: Defining mask globally 
> > > 
> > > 
> > > Hi Hermod, 
> > > 
> > > I am using version 1.0.4 of shale-validator. 
> > > 
> > > Is this the right approach to manage the regex for the mask? 
> > > 
> > > I also double checked about typo error, that error was in email message 
> > > but 
> > > not in the code. 
> > > 
> > > Thanks 
> > > 
> > > 
> > > 
> > > 
> > > On 3/14/07, Hermod Opstvedt wrote: 
> > > > 
> > > > Hi 
> > > > 
> > > > Another question: Which version is this of shale-validator? The 
> > > > linenumbers 
> > > > don't match up with the current. 
> > > > 
> > > > Hermod 
> > > > 
> > > > 
> > > > -----Opprinnelig melding----- 
> > > > Fra: Sanjay Choudhary [mailto:[EMAIL PROTECTED] 
> > > > Sendt: 14. mars 2007 21:33 
> > > > Til: [email protected] 
> > > > Emne: Defining mask globally 
> > > > 
> > > > hi 
> > > > 
> > > > I wish to define the global regex for masks in a common file. For 
> > > example 
> > > > , 
> > > > name field mask will be like ^[a-zA-Z]+$. 
> > > > 
> > > > > > > > value="#{BrokerRepresentative.name}" size="20"> 
> > > > > > > > server="true" 
> > > > client="false"> 
> > > > > > > value="^[a-zA-Z]+$" 
> > > > /> 
> > > > 
> > > > 
> > > > 
> > > > I wish to replace this with something like 
> > > > 
> > > > 
> > > > 
> > > > > > > > value="#{BrokerRepresentative.name}" size="20"> 
> > > > > > > > server="true" 
> > > > client="false"> 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > This will enable me to validate the name field in a uniform way 
> > through 
> > > > out 
> > > > my application. Also if any change is need in regex then it needs to 
> > > > applied 
> > > > in one place. When I tried this solution I got 
> > > > 
> > > > 
> > > > java.lang.NullPointerException 
> > > > 
> > > > org.apache.shale.validator.CommonsValidator.convert( 
> > > CommonsValidator.java 
> > > > :95 
> > > > 4) 
> > > > 
> > > > org.apache.shale.validator.CommonsValidator.loadMethodParamValues 
> > > > (CommonsVal 
> > > > idator.java:715) 
> > > > 
> > > > org.apache.shale.validator.CommonsValidator.validate( 
> > > CommonsValidator.java 
> > > > :7 
> > > > 93) 
> > > > javax.faces.component.UIInput.validateValue(UIInput.java:781) 
> > > > javax.faces.component.UIInput.validate(UIInput.java:645) 
> > > > javax.faces.component.UIInput.executeValidate(UIInput.java 
> > :849) 
> > > > javax.faces.component.UIInput.processValidators(UIInput.java 
> > > :412) 
> > > > 
> > > > javax.faces.component.UIComponentBase.processValidators( 
> > > > UIComponentBase.java 
> > > > :912) 
> > > > javax.faces.component.UIForm.processValidators(UIForm.java 
> > :170) 
> > > > 
> > > > javax.faces.component.UIComponentBase.processValidators( 
> > > > UIComponentBase.java 
> > > > :912) 
> > > > 
> > > > javax.faces.component.UIComponentBase.processValidators( 
> > > > UIComponentBase.java 
> > > > :912) 
> > > > 
> > > > javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java 
> > :342) 
> > > > 
> > > > com.sun.faces.lifecycle.ProcessValidationsPhase.execute 
> > > > (ProcessValidationsPh 
> > > > ase.java:78) 
> > > > com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java 
> > > > :200) 
> > > > com.sun.faces.lifecycle.LifecycleImpl.execute( 
> > LifecycleImpl.java 
> > > > :90) 
> > > > javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) 
> > > > 
> > > > 
> > > > 
> > > > Any help /commens/ pointers appreciated to resolve this problem. I 
> > open 
> > > > to 
> > > > different solution too. 
> > > > 
> > > > 
> > > > Thanks, 
> > > > sanjay 
> > > > 
> > > > 
> > > 
> > > 
> > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
> > * 
> > > * 
> > > 
> > > This email with attachments is solely for the use of the individual or 
> > > entity to whom it is addressed. Please also be aware that DnB NOR cannot 
> > > accept any payment orders or other legally binding correspondence with 
> > > customers as a part of an email. 
> > > 
> > > This email message has been virus checked by the anti virus programs 
> > used 
> > > in the DnB NOR Group. 
> > > 
> > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
> > * 
> > > * 
> > > 
> > > 
> > 
> > 

Reply via email to