Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / StringValidator.cs / 1305376 / StringValidator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Text.RegularExpressions; namespace System.Configuration { public class StringValidator : ConfigurationValidatorBase { private int _minLength; private int _maxLength; private string _invalidChars; public StringValidator(int minLength) : this(minLength, int.MaxValue, null) { } public StringValidator(int minLength, int maxLength) : this(minLength, maxLength, null) { } public StringValidator(int minLength, int maxLength, string invalidCharacters) { _minLength = minLength; _maxLength = maxLength; _invalidChars = invalidCharacters; } public override bool CanValidate(Type type) { return (type == typeof(string)); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(string)); string data = value as string; int len = (data == null ? 0 : data.Length); if (len < _minLength) { throw new ArgumentException(SR.GetString(SR.Validator_string_min_length, _minLength)); } if (len > _maxLength) { throw new ArgumentException(SR.GetString(SR.Validator_string_max_length, _maxLength)); } // Check if the string contains any invalid characters if ((len > 0) && (_invalidChars != null) && (_invalidChars.Length > 0)) { char[] array = new char[_invalidChars.Length]; _invalidChars.CopyTo(0, array, 0, _invalidChars.Length); if (data.IndexOfAny(array) != -1) { throw new ArgumentException(SR.GetString(SR.Validator_string_invalid_chars, _invalidChars)); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Text.RegularExpressions; namespace System.Configuration { public class StringValidator : ConfigurationValidatorBase { private int _minLength; private int _maxLength; private string _invalidChars; public StringValidator(int minLength) : this(minLength, int.MaxValue, null) { } public StringValidator(int minLength, int maxLength) : this(minLength, maxLength, null) { } public StringValidator(int minLength, int maxLength, string invalidCharacters) { _minLength = minLength; _maxLength = maxLength; _invalidChars = invalidCharacters; } public override bool CanValidate(Type type) { return (type == typeof(string)); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(string)); string data = value as string; int len = (data == null ? 0 : data.Length); if (len < _minLength) { throw new ArgumentException(SR.GetString(SR.Validator_string_min_length, _minLength)); } if (len > _maxLength) { throw new ArgumentException(SR.GetString(SR.Validator_string_max_length, _maxLength)); } // Check if the string contains any invalid characters if ((len > 0) && (_invalidChars != null) && (_invalidChars.Length > 0)) { char[] array = new char[_invalidChars.Length]; _invalidChars.CopyTo(0, array, 0, _invalidChars.Length); if (data.IndexOfAny(array) != -1) { throw new ArgumentException(SR.GetString(SR.Validator_string_invalid_chars, _invalidChars)); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TreeBuilder.cs
- TrackingLocation.cs
- Signature.cs
- DataBoundControlHelper.cs
- CustomPopupPlacement.cs
- ComContractElementCollection.cs
- propertytag.cs
- WeakReference.cs
- CollectionBuilder.cs
- CodeDesigner.cs
- ValidatingPropertiesEventArgs.cs
- CategoryAttribute.cs
- EntryIndex.cs
- ShaperBuffers.cs
- ProvidePropertyAttribute.cs
- HtmlTextArea.cs
- DictionaryManager.cs
- CodeIterationStatement.cs
- GridViewColumnCollection.cs
- GPStream.cs
- HttpBufferlessInputStream.cs
- CodeSnippetStatement.cs
- LabelEditEvent.cs
- XmlEncoding.cs
- SmtpLoginAuthenticationModule.cs
- ClientSettings.cs
- ToolZone.cs
- ListViewEditEventArgs.cs
- ServiceActivationException.cs
- PagerSettings.cs
- RepeaterItem.cs
- CollectionViewProxy.cs
- ConsumerConnectionPointCollection.cs
- LocalValueEnumerator.cs
- XmlEncoding.cs
- SimpleBitVector32.cs
- ItemCheckEvent.cs
- CodeCatchClauseCollection.cs
- BindingSource.cs
- VersionedStreamOwner.cs
- SubordinateTransaction.cs
- XmlEnumAttribute.cs
- SelectionPattern.cs
- XNodeSchemaApplier.cs
- ConstructorArgumentAttribute.cs
- ClientApiGenerator.cs
- DynamicDataRouteHandler.cs
- UnSafeCharBuffer.cs
- KeyPressEvent.cs
- PixelFormatConverter.cs
- TextBounds.cs
- HwndSourceParameters.cs
- EntityStoreSchemaGenerator.cs
- StorageMappingItemLoader.cs
- SecurityPermission.cs
- SettingsProperty.cs
- LinkUtilities.cs
- TrackingProfileManager.cs
- PartialCachingControl.cs
- LocatorManager.cs
- CompilationLock.cs
- RadioButtonFlatAdapter.cs
- ConnectionPoint.cs
- FontStyle.cs
- Stream.cs
- PrimaryKeyTypeConverter.cs
- EntityUtil.cs
- Rijndael.cs
- HostVisual.cs
- UInt32Converter.cs
- RawStylusActions.cs
- Cursors.cs
- FormsAuthenticationTicket.cs
- TrackBarRenderer.cs
- BitmapData.cs
- WebPartCatalogCloseVerb.cs
- CompModHelpers.cs
- CookieProtection.cs
- WorkflowInstanceRecord.cs
- ComplexPropertyEntry.cs
- JapaneseLunisolarCalendar.cs
- Rect3DConverter.cs
- ClockGroup.cs
- CodePageEncoding.cs
- ConfigXmlComment.cs
- StickyNoteHelper.cs
- BaseUriHelper.cs
- ValueTypeFixupInfo.cs
- GridViewHeaderRowPresenter.cs
- EdmProviderManifest.cs
- FloatUtil.cs
- Logging.cs
- MetadataItemEmitter.cs
- ScrollBarRenderer.cs
- BitStack.cs
- WebPartMinimizeVerb.cs
- PageBuildProvider.cs
- TickBar.cs
- ZipIOBlockManager.cs
- ClientSponsor.cs