developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Ticket #781: monpatch.diff

File monpatch.diff, 1.9 KB (added by geekbay, 12 years ago)

Proposition de patch

  • lib/jelix-www/js/jforms_jquery.js

     
    5454        this.tForm.errorDecorator.start();
    5555        for(var i =0; i < this.tForm.controls.length; i++){
    5656            var c = this.tForm.controls[i];
     57
    5758            if(typeof c.getValue == 'function')
    5859                var val = c.getValue()
    5960            else{
     
    6162                if (!elt) continue; // sometimes, all controls are not generated...
    6263                var val = this.getValue(elt);
    6364            }
    64             if(jQuery.trim(val) === ''){
    65                 if(c.required){
    66                     this.tForm.errorDecorator.addError(c, 1);
    67                     valid = false;
    68                 }
    69             }else{
    70                 if(!c.check(val, this)){
    71                     this.tForm.errorDecorator.addError(c, 2);
    72                     valid = false;
    73                 }
     65
     66            if(typeof val == 'string') {
     67              //normal case
     68              if(jQuery.trim(val) === ''){
     69                  if(c.required){
     70                      this.tForm.errorDecorator.addError(c, 1);
     71                      valid = false;
     72                  }
     73              }else{
     74                  if(!c.check(val, this)){
     75                      this.tForm.errorDecorator.addError(c, 2);
     76                      valid = false;
     77                  }
     78              }
    7479            }
     80            else {
     81              /*
     82                radiobuttons case:
     83                if the length of the array = 0 that means that there is nothing checked
     84              */
     85              if(val.length == 0 && c.required) {
     86                this.tForm.errorDecorator.addError(c, 1);
     87                valid = false;
     88              }
     89            }
    7590        }
    7691        if(!valid)
    7792            this.tForm.errorDecorator.end();