dgraham     2002/12/08 21:23:44

  Modified:    conf/share validator-rules.xml
  Log:
  Fixed validateRequired, validateShort, validateInteger for PR # 7353.
  
  Revision  Changes    Path
  1.20      +76 -34    jakarta-struts/conf/share/validator-rules.xml
  
  Index: validator-rules.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/conf/share/validator-rules.xml,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- validator-rules.xml       9 Dec 2002 05:06:02 -0000       1.19
  +++ validator-rules.xml       9 Dec 2002 05:23:44 -0000       1.20
  @@ -61,17 +61,31 @@
                   var fields = new Array();
                   oRequired = new required();
                   for (x in oRequired) {
  -                    if ((form[oRequired[x][0]].type == 'text' ||
  -                         form[oRequired[x][0]].type == 'textarea' ||
  -                         form[oRequired[x][0]].type == 'select-one' ||
  -                         form[oRequired[x][0]].type == 'radio' ||
  -                         form[oRequired[x][0]].type == 'password') &&
  -                        (form[oRequired[x][0]].value == '')) {
  -                        if (i == 0) {
  -                            focusField = form[oRequired[x][0]];
  +                     var field = form[oRequired[x][0]];
  +                     
  +                    if (field.type == 'text' ||
  +                        field.type == 'textarea' ||
  +                        field.type == 'select-one' ||
  +                        field.type == 'radio' ||
  +                        field.type == 'password') {
  +                        
  +                        var value;
  +                                             // get field's value
  +                                             if (field.type == "select-one") {
  +                                                     var si = field.selectedIndex;
  +                                                     value = 
field.options[si].value;
  +                                             } else {
  +                                                     value = field.value;
  +                                             }
  +                        
  +                        if (value == '') {
  +                        
  +                             if (i == 0) {
  +                                 focusField = field;
  +                             }
  +                             fields[i++] = oRequired[x][1];
  +                             bValid = false;
                           }
  -                        fields[i++] = oRequired[x][1];
  -                        bValid = false;
                       }
                   }
                   if (fields.length > 0) {
  @@ -312,18 +326,32 @@
                   var fields = new Array();
                   oShort = new ShortValidations();
                   for (x in oShort) {
  -                    if ((form[oShort[x][0]].type == 'text' ||
  -                         form[oShort[x][0]].type == 'textarea' ||
  -                         form[oShort[x][0]].type == 'select-one' ||
  -                         form[oShort[x][0]].type == 'radio') &&
  -                        (form[oShort[x][0]].value.length > 0)) {
  -                        var iValue = parseInt(form[oShort[x][0]].value);
  -                        if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 
32767)) {
  -                            if (i == 0) {
  -                                focusField = form[oShort[x][0]];
  -                            }
  -                            fields[i++] = oShort[x][1];
  -                            bValid = false;
  +                     var field = form[oShort[x][0]];
  +                     
  +                    if (field.type == 'text' ||
  +                        field.type == 'textarea' ||
  +                        field.type == 'select-one' ||
  +                        field.type == 'radio') {
  +                        
  +                        var value;
  +                                             // get field's value
  +                                             if (field.type == "select-one") {
  +                                                     var si = field.selectedIndex;
  +                                                     value = 
field.options[si].value;
  +                                             } else {
  +                                                     value = field.value;
  +                                             }
  +                        
  +                        if (value.length > 0) {
  +                        
  +                             var iValue = parseInt(value);
  +                             if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 
32767)) {
  +                                 if (i == 0) {
  +                                     focusField = field;
  +                                 }
  +                                 fields[i++] = oShort[x][1];
  +                                 bValid = false;
  +                            }
                          }
                       }
                   }
  @@ -358,18 +386,32 @@
                   var fields = new Array();
                   oInteger = new IntegerValidations();
                   for (x in oInteger) {
  -                    if ((form[oInteger[x][0]].type == 'text' ||
  -                         form[oInteger[x][0]].type == 'textarea' ||
  -                         form[oInteger[x][0]].type == 'select-one' ||
  -                         form[oInteger[x][0]].type == 'radio') &&
  -                        (form[oInteger[x][0]].value.length > 0)) {
  -                        var iValue = parseInt(form[oInteger[x][0]].value);
  -                        if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 
2147483647)) {
  -                            if (i == 0) {
  -                                focusField = form[oInteger[x][0]];
  -                            }
  -                            fields[i++] = oInteger[x][1];
  -                            bValid = false;
  +                     var field = form[oInteger[x][0]];
  +
  +                    if (field.type == 'text' ||
  +                        field.type == 'textarea' ||
  +                        field.type == 'select-one' ||
  +                        field.type == 'radio') {
  +                        
  +                        var value;
  +                                             // get field's value
  +                                             if (field.type == "select-one") {
  +                                                     var si = field.selectedIndex;
  +                                                     value = 
field.options[si].value;
  +                                             } else {
  +                                                     value = field.value;
  +                                             }
  +                        
  +                        if (value.length > 0) {
  +                        
  +                             var iValue = parseInt(value);
  +                             if (isNaN(iValue) || !(iValue >= -2147483648 && iValue 
<= 2147483647)) {
  +                                 if (i == 0) {
  +                                     focusField = field;
  +                                 }
  +                                 fields[i++] = oInteger[x][1];
  +                                 bValid = false;
  +                            }
                          }
                       }
                   }
  
  
  

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

Reply via email to