public sealed class IntegerBox : TextBox
{
#region constants
private const string RangeConstraintValidatorID = "rangeConstraintValidator";
#endregion
#region child controls
private readonly CustomValidator _rangeConstraintValidator = new CustomValidator
{
EnableClientScript = false,
Enabled = true,
ErrorMessage = "ErrorMessageForRangeConstraintFailed",
Display = ValidatorDisplay.None,
SetFocusOnError = true,
ValidateEmptyText = true
};
#endregion
#region life cycle
protected override void CreateChildControls()
{
this.Controls.Clear();
this._rangeConstraintValidator.ID = this.ClientID + this.ClientIDSeparator + RangeConstraintValidatorID;
this._rangeConstraintValidator.ServerValidate += this.ValidateRangeConstraint;
this.Controls.Add(this._rangeConstraintValidator);
base.CreateChildControls();
}
#endregion
/// <summary>
/// Gets or sets the number.
/// </summary>
/// <value>The number.</value>
public int? Number
{
get
{
/* MAGIC */
}
set
{
/* MAGIC */
}
}
public override string ValidationGroup
{
get
{
this.EnsureChildControls();
return base.ValidationGroup;
}
set
{
this.EnsureChildControls();
base.ValidationGroup = value;
this._rangeConstraintValidator.ValidationGroup = value;
}
}
public int? MaximumValue { get; set; }
public int? MinimumValue { get; set; }
public string ErrorMessageForRangeConstraintFailed
{
get
{
this.EnsureChildControls();
return this._rangeConstraintValidator.ErrorMessage;
}
set
{
this.EnsureChildControls();
this._rangeConstraintValidator.ErrorMessage = value;
}
}
public void ValidateRangeConstraint(object source, ServerValidateEventArgs args)
{
/* MAGIC */
}
#endregion
}
can anyone tell me, why this is not working?
notes:
- i've already tried to instanciate the rangeConstraint-Validator inside CreateChildControls = no effect!
- the validating method is not broken
- the "non-firing" only occures, if i set no validationGroup
thanks in advance!