Rock.Web.UI.Controls.NumberBox.RenderDataValidator C# (CSharp) Method

RenderDataValidator() protected method

Renders any data validator.
protected RenderDataValidator ( System.Web.UI.HtmlTextWriter writer ) : void
writer System.Web.UI.HtmlTextWriter The writer.
return void
        protected override void RenderDataValidator( HtmlTextWriter writer )
        {
            _rangeValidator.Type = NumberType;
            _rangeValidator.MinimumValue = this.MinimumValue;
            _rangeValidator.MaximumValue = this.MaximumValue;
            string dataTypeText = string.Empty;

            int minValue = MinimumValue.AsIntegerOrNull() ?? int.MinValue;
            int maxValue = MaximumValue.AsIntegerOrNull() ?? int.MaxValue;

            string rangeMessageFormat = null;

            // if they are in the valid range, but not an integer, they'll see this message
            switch( _rangeValidator.Type )
            {
                case ValidationDataType.Integer: rangeMessageFormat = "{0} must be an integer"; break;
                case ValidationDataType.Double: rangeMessageFormat = "{0} must be a decimal amout"; break;
                case ValidationDataType.Currency: rangeMessageFormat = "{0} must be a currency amount"; break;
                case ValidationDataType.Date: rangeMessageFormat = "{0} must be a date"; break;
                case ValidationDataType.String: rangeMessageFormat = "{0} must be a string"; break;
            }

            if ( minValue > int.MinValue)
            {
                rangeMessageFormat = "{0} must be at least " + MinimumValue;
            }

            if ( maxValue < int.MaxValue )
            {
                rangeMessageFormat = "{0} must be at most " + MaximumValue;
            }

            if ( ( minValue > int.MinValue ) && ( maxValue < int.MaxValue ) )
            {
                rangeMessageFormat = string.Format( "{{0}} must be between {0} and {1} ", MinimumValue, MaximumValue );
            }

            if ( !string.IsNullOrWhiteSpace( rangeMessageFormat ) )
            {
                _rangeValidator.ErrorMessage = string.Format( rangeMessageFormat, string.IsNullOrWhiteSpace(FieldName) ? "Value" : FieldName );
            }

            _rangeValidator.ValidationGroup = this.ValidationGroup;
            _rangeValidator.RenderControl( writer );
        }