Changeset 1648


Ignore:
Timestamp:
2010-08-06 13:02:51 (3 years ago)
Author:
freya
Message:
  • See #263 : conditional validator. you can add a 'isEnabled' method to a validator to sepcify whether or not to enable the validation.


Location:
trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/case.js

    r1635 r1648  
    192192            options.set(optionValues, optionLabels); 
    193193         
    194         var noValidation = (this.valueState == kf.Control.STATE_INIT); 
    195         caseControl.setWireValue(optionValues[0], noValidation); 
     194        caseControl.setWireValue(optionValues[0]); 
    196195         
    197196        this.putChild("case", caseControl);       
     
    230229        var caseControl = this.getChild("case"); 
    231230        // we are now setting the valueChanged handler 
    232         caseControl.valueChanged(function (evt) { 
     231        caseControl.valueChanged(function (evt, novalidation) { 
    233232            var selectedCase = me.getChild("case").getWireValue(); 
    234233            // hide the old value 
     
    251250                    me.setMessage("Sorry but " + selectedCase + " is not a valid value"); 
    252251            } 
    253              
    254             me.newValidation(this.getValue(), this.getWireValue()); 
     252            var noValidation = (this.valueState == kf.Control.STATE_INIT);  
     253            if(!noValidation) 
     254                me.newValidation(this.getValue(), this.getWireValue()); 
    255255        }); 
    256256    } 
  • trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/control.js

    r1644 r1648  
    14501450        if( ! (me.value === me.initial.value && me.valueState == Control.STATE_INIT))         
    14511451            me.setWireValue(me.initial.value, true); 
    1452         me.valueState = Control.STATE_INIT; 
     1452        me.clearValidationClasses(); 
    14531453         
    14541454        if (me.isEnabled()) { 
     
    15531553                    } 
    15541554                    else { 
    1555                         me.valueState = Control.STATE_INIT; // mark that this value isn't validated yet. 
     1555                        //me.valueState = Control.STATE_INIT; // mark that this value isn't validated yet. 
    15561556                        me.clearMessage(); // and clear messages 
     1557                        me.clearValidationClasses(); 
    15571558                    } 
    15581559                } finally { 
     
    16751676     */ 
    16761677    Control.prototype.newValidation = function(value, wireValue){ 
    1677         if (this.operationalState == Control.STATE_DISABLED) { 
     1678         if (this.operationalState == Control.STATE_DISABLED) { 
    16781679            this.valueState = Control.STATE_VALID; 
    16791680            return; 
     
    17281729        this.validationMessages = []; 
    17291730        this.clearMessage(); 
     1731        this.clearValidationClasses(); 
    17301732    } 
    17311733     
     
    17941796     
    17951797        this.setMessage(""); 
    1796     } 
     1798     } 
    17971799 
    17981800     /** 
     
    24582460        }); // inline overwrite the getParent method on the child being created  
    24592461        var childControl = form.controlTypes.getInstance(controlType, extender, [id, form, type]); // constructor args 
     2462        var noValidation = (this.valueState == kf.Control.STATE_INIT); 
    24602463        var childChanged = function(){ 
    24612464         
    2462             me.updateValue(); 
     2465            me.updateValue(noValidation); 
    24632466             
    24642467        } 
  • trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/field.js

    r1630 r1648  
    529529                var v = myValidators[j]; 
    530530                v.inSequence(listener, seqId); 
    531                 v.validate(values[i], validationData); 
     531                 
     532                if(v.isEnabled()) { 
     533                    v.validate(values[i], validationData); 
     534                } 
    532535            } 
    533536        } 
  • trunk/modules/kauri-forms/kauri-forms-framework/src/main/kauri/static-{build}.key/kauri.forms/validator.js

    r1026 r1648  
    9393        return this.notify(true); 
    9494    } 
     95     
     96    /** 
     97    * specify whether or not the validator should be enabled 
     98    * @return true by default 
     99    */ 
     100    Validator.prototype.isEnabled = function( ) { 
     101       return true; 
     102   } 
    95103 
    96104    /** 
Note: See TracChangeset for help on using the changeset viewer.