Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / RangeValidator.cs / 1 / RangeValidator.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System.ComponentModel;
using System.Web;
using System.Globalization;
using System.Security.Permissions;
using System.Web.Util;
///
/// Checks if the value of the associated input control
/// is within some minimum and maximum values, which
/// can be constant values or values of other controls.
///
[
ToolboxData("<{0}:RangeValidator runat=\"server\" ErrorMessage=\"RangeValidator\">{0}:RangeValidator>")
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class RangeValidator : BaseCompareValidator {
///
/// Gets or sets the maximum value of the validation range.
///
[
WebCategory("Behavior"),
Themeable(false),
DefaultValue(""),
WebSysDescription(SR.RangeValidator_MaximumValue)
]
public string MaximumValue {
get {
object o = ViewState["MaximumValue"];
return((o == null) ? String.Empty : (string)o);
}
set {
ViewState["MaximumValue"] = value;
}
}
///
/// Gets or sets the minimum value of the validation range.
///
[
WebCategory("Behavior"),
Themeable(false),
DefaultValue(""),
WebSysDescription(SR.RangeValidator_MinmumValue)
]
public string MinimumValue {
get {
object o = ViewState["MinimumValue"];
return((o == null) ? String.Empty : (string)o);
}
set {
ViewState["MinimumValue"] = value;
}
}
///
///
/// AddAttributesToRender method
///
protected override void AddAttributesToRender(HtmlTextWriter writer) {
base.AddAttributesToRender(writer);
if (RenderUplevel) {
string id = ClientID;
HtmlTextWriter expandoAttributeWriter = (EnableLegacyRendering) ? writer : null;
AddExpandoAttribute(expandoAttributeWriter, id, "evaluationfunction", "RangeValidatorEvaluateIsValid", false);
string maxValueString = MaximumValue;
string minValueString = MinimumValue;
if (CultureInvariantValues) {
maxValueString = ConvertCultureInvariantToCurrentCultureFormat(maxValueString, Type);
minValueString = ConvertCultureInvariantToCurrentCultureFormat(minValueString, Type);
}
AddExpandoAttribute(expandoAttributeWriter, id, "maximumvalue", maxValueString);
AddExpandoAttribute(expandoAttributeWriter, id, "minimumvalue", minValueString);
}
}
///
///
/// This is a check of properties to determine any errors made by the developer
///
protected override bool ControlPropertiesValid() {
ValidateValues();
return base.ControlPropertiesValid();
}
///
///
/// EvaluateIsValid method
///
protected override bool EvaluateIsValid() {
Debug.Assert(PropertiesValid, "Should have already been checked");
// Get the peices of text from the control(s).
string text = GetControlValidationValue(ControlToValidate);
Debug.Assert(text != null, "Should have already caught this!");
// Special case: if the string is blank, we don't try to validate it. The input should be
// trimmed for coordination with the RequiredFieldValidator.
if (text.Trim().Length == 0) {
return true;
}
// VSWhidbey 83168
if (Type == ValidationDataType.Date &&
!DetermineRenderUplevel() &&
!IsInStandardDateFormat(text)) {
text = ConvertToShortDateString(text);
}
return(Compare(text, false, MinimumValue, CultureInvariantValues, ValidationCompareOperator.GreaterThanEqual, Type)
&& Compare(text, false, MaximumValue, CultureInvariantValues, ValidationCompareOperator.LessThanEqual, Type));
}
///
///
///
private void ValidateValues() {
// Check the control values can be converted to data type
string maximumValue = MaximumValue;
if (!CanConvert(maximumValue, Type, CultureInvariantValues)) {
throw new HttpException(
SR.GetString(
SR.Validator_value_bad_type,
new string [] {
maximumValue,
"MaximumValue",
ID,
PropertyConverter.EnumToString(typeof(ValidationDataType), Type)
}));
}
string minumumValue = MinimumValue;
if (!CanConvert(minumumValue, Type, CultureInvariantValues)) {
throw new HttpException(
SR.GetString(
SR.Validator_value_bad_type,
new string [] {
minumumValue,
"MinimumValue",
ID,
PropertyConverter.EnumToString(typeof(ValidationDataType), Type)
}));
}
// Check for overlap.
if (Compare(minumumValue, CultureInvariantValues,
maximumValue, CultureInvariantValues,
ValidationCompareOperator.GreaterThan, Type)) {
throw new HttpException(
SR.GetString(
SR.Validator_range_overalap,
new string [] {
maximumValue,
minumumValue,
ID,
}));
}
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AssemblyName.cs
- MetadataArtifactLoaderCompositeResource.cs
- ViewManager.cs
- latinshape.cs
- ImageFormat.cs
- PipeStream.cs
- SliderAutomationPeer.cs
- ApplicationContext.cs
- CodeRemoveEventStatement.cs
- TextBoxRenderer.cs
- XamlFigureLengthSerializer.cs
- CookielessData.cs
- TimeSpanValidatorAttribute.cs
- ChangeBlockUndoRecord.cs
- DataTablePropertyDescriptor.cs
- SoapFormatter.cs
- SignatureDescription.cs
- x509store.cs
- ResourceReferenceKeyNotFoundException.cs
- ContainerUtilities.cs
- ErrorHandler.cs
- ListBoxChrome.cs
- SimpleBitVector32.cs
- EncryptedKey.cs
- ListViewCommandEventArgs.cs
- SqlDataSourceQueryEditorForm.cs
- LinkTarget.cs
- SchemaDeclBase.cs
- StyleCollection.cs
- _BasicClient.cs
- relpropertyhelper.cs
- XmlSchemaValidator.cs
- IPeerNeighbor.cs
- DataViewSetting.cs
- HwndSubclass.cs
- RequestCacheValidator.cs
- Connector.xaml.cs
- Frame.cs
- RequiredAttributeAttribute.cs
- DataGridLinkButton.cs
- COM2IDispatchConverter.cs
- UnsafeNativeMethods.cs
- ArgumentException.cs
- PerformanceCounterPermissionEntryCollection.cs
- ProfileGroupSettingsCollection.cs
- UTF7Encoding.cs
- TemplateControlParser.cs
- TextEndOfLine.cs
- DataServiceResponse.cs
- UntypedNullExpression.cs
- DescendantQuery.cs
- TraceData.cs
- ReadOnlyDictionary.cs
- QueryPageSettingsEventArgs.cs
- PageParserFilter.cs
- TableLayoutStyleCollection.cs
- ResourceExpression.cs
- BindingContext.cs
- WinEventTracker.cs
- ParserStreamGeometryContext.cs
- SerializationException.cs
- DataGridColumn.cs
- OuterGlowBitmapEffect.cs
- WinFormsUtils.cs
- NavigationExpr.cs
- QueryStringParameter.cs
- ExtentCqlBlock.cs
- GroupStyle.cs
- CustomErrorCollection.cs
- QueueAccessMode.cs
- XmlEntity.cs
- TreePrinter.cs
- DataBoundControlAdapter.cs
- QilInvokeEarlyBound.cs
- ColorTranslator.cs
- DataGridViewCheckBoxCell.cs
- PolicyException.cs
- hresults.cs
- __ConsoleStream.cs
- SrgsGrammar.cs
- ImmComposition.cs
- SqlBulkCopy.cs
- BoolExpr.cs
- ContainerVisual.cs
- DropDownList.cs
- RayMeshGeometry3DHitTestResult.cs
- ShapingEngine.cs
- X509Utils.cs
- StringCollectionEditor.cs
- DataBoundControlHelper.cs
- FocusWithinProperty.cs
- UrlParameterReader.cs
- RawStylusInputCustomDataList.cs
- BamlRecordHelper.cs
- StatusStrip.cs
- Enum.cs
- MemberDescriptor.cs
- ConvertEvent.cs
- DocumentViewer.cs
- DataSourceView.cs