Re: BUG fix for org.apache.struts.taglib.html.JavascriptValidatorTag

2003-11-28 Thread David Graham
Thanks for the fix idea.  It would have been better if you posted this
directly to the bugzilla ticket though.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24516

David


--- Igor Marchenko [EMAIL PROTECTED] wrote:
   Hello all.
 
 BUG
 ---
 I use Struts's ValidatorPlagin in client validation manner. It generates
 an
 JavaScript Array of field checks to made. Example:
 
 function validatorRuleName () {
   this.aa = new Array(...));
   this.ab = new Array(...));
   this.ac = new Array(...));
   this.ad = new Array(...));
   this.ae = new Array(...));
   ...
   this.do = new Array(...));
   ...
   this.in = new Array(...));
   ...
 }
 
 But do and in is JavaScript reserved words. Therefore if there is
 quite
 a few field who need validation this.do and this.in appears (this is
 syntax error).
 
 FAST FIX
 
 Override org.apache.struts.taglib.html.JavascriptValidatorTag#getNextVar
 method as here:
 
 private String getNextVar(String input) {
   return _+(input==null?0:(Integer.parseInt(input.substring(1))+1));
 }
 
 DEEPER FIX
 --
 It's clear,
 org.apache.struts.taglib.html.JavascriptValidatorTag#getNextVar
 method is not needed. Remove them at all and correct
 org.apache.struts.taglib.html.JavascriptValidatorTag#doStartTag method
 correspondingly.
 
 Replace next lines
 
 String jscriptVar = null;
 jscriptVar = this.getNextVar(jscriptVar);
 results.append(
this.
   + jscriptVar
   +  = new Array(\
   + field.getKey()
   + \, \
   + message
   + \, );
 
 with
 
 int jscriptVar = 0;
 results.append( this.)
   .append(jscriptVar++)
   .append( = new Array(\)
   .append(field.getKey())
   .append(\, \)
   .append(message)
   .append(\, );
 
 OTHER WORDS
 ---
 I check both fix ways with big number (more than 100) of checks on one
 page.
 
 Big thanx for all Struts developers.
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 


__
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



BUG fix for org.apache.struts.taglib.html.JavascriptValidatorTag

2003-11-27 Thread Igor Marchenko
Hello all.

BUG
---
I use Struts's ValidatorPlagin in client validation manner. It generates an
JavaScript Array of field checks to made. Example:

function validatorRuleName () {
this.aa = new Array(...));
this.ab = new Array(...));
this.ac = new Array(...));
this.ad = new Array(...));
this.ae = new Array(...));
...
this.do = new Array(...));
...
this.in = new Array(...));
...
}

But do and in is JavaScript reserved words. Therefore if there is quite
a few field who need validation this.do and this.in appears (this is
syntax error).

FAST FIX

Override org.apache.struts.taglib.html.JavascriptValidatorTag#getNextVar
method as here:

private String getNextVar(String input) {
return _+(input==null?0:(Integer.parseInt(input.substring(1))+1));
}

DEEPER FIX
--
It's clear, org.apache.struts.taglib.html.JavascriptValidatorTag#getNextVar
method is not needed. Remove them at all and correct
org.apache.struts.taglib.html.JavascriptValidatorTag#doStartTag method
correspondingly.

Replace next lines

String jscriptVar = null;
jscriptVar = this.getNextVar(jscriptVar);
results.append(
 this.
+ jscriptVar
+  = new Array(\
+ field.getKey()
+ \, \
+ message
+ \, );

with

int jscriptVar = 0;
results.append( this.)
.append(jscriptVar++)
.append( = new Array(\)
.append(field.getKey())
.append(\, \)
.append(message)
.append(\, );

OTHER WORDS
---
I check both fix ways with big number (more than 100) of checks on one page.

Big thanx for all Struts developers.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]