diff options
Diffstat (limited to 'framework/Web/Javascripts/js/debug')
| -rw-r--r-- | framework/Web/Javascripts/js/debug/validator.js | 39 | 
1 files changed, 39 insertions, 0 deletions
| diff --git a/framework/Web/Javascripts/js/debug/validator.js b/framework/Web/Javascripts/js/debug/validator.js index ec57e876..72d9a01d 100644 --- a/framework/Web/Javascripts/js/debug/validator.js +++ b/framework/Web/Javascripts/js/debug/validator.js @@ -1100,6 +1100,45 @@ Prado.WebUI.TCustomValidator = Class.extend(Prado.WebUI.TBaseValidator,  	}
  });
 +Prado.WebUI.TActiveCustomValidator = Class.extend(Prado.WebUI.TBaseValidator,
 +{
 +	validatingValue : null,
 +	requestDispatched : false,
 +
 +	/**
 +	 * Calls custom validation function.
 +	 */
 +	evaluateIsValid : function()
 +	{
 +		value = this.getValidationValue();
 +		if(!this.requestDispatched && value != this.validatingValue)
 +		{
 +			this.validatingValue = value;
 +			request = new Prado.CallbackRequest(this.options.EventTarget, this.options);
 +			request.setParameter(value);
 +			request.setCausesValidation(false);
 +			request.options.onSuccess = this.callbackOnSuccess.bind(this);
 +			request.options.onFailure = this.callbackOnFailure.bind(this);
 +			request.dispatch();
 +			this.requestDispatched = true;
 +			return false;
 +		}
 +		return this.isValid;
 +	},
 +
 +	callbackOnSuccess : function(request, data)
 +	{
 +		this.isValid = data;
 +		this.requestDispatched = false;
 +		Prado.Validation.validate(this.options.FormID, this.group,null);
 +	},
 +
 +	callbackOnFailure : function(request, data)
 +	{
 +		this.requestDispatched = false;
 +	}
 +});
 +
  /**
   * TRangeValidator tests whether an input value is within a specified range.
   *
 | 
