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
- SignedXml.cs
- WebPartEditorApplyVerb.cs
- XmlResolver.cs
- DocumentSequence.cs
- TimelineCollection.cs
- InstanceDataCollectionCollection.cs
- TreeView.cs
- oledbmetadatacollectionnames.cs
- PolicyLevel.cs
- Random.cs
- ReadOnlyAttribute.cs
- GlobalItem.cs
- ServiceOperationListItem.cs
- EditCommandColumn.cs
- CodeEntryPointMethod.cs
- EditorAttribute.cs
- UnicodeEncoding.cs
- FromReply.cs
- FileLoadException.cs
- ModuleConfigurationInfo.cs
- SwitchElementsCollection.cs
- PointLight.cs
- WeakRefEnumerator.cs
- CompiledRegexRunner.cs
- ExtendedPropertyCollection.cs
- EditBehavior.cs
- Separator.cs
- SystemResources.cs
- StringComparer.cs
- FileEnumerator.cs
- DefaultValueTypeConverter.cs
- WorkflowViewService.cs
- VersionPair.cs
- TraceHandler.cs
- MergeLocalizationDirectives.cs
- OleDbRowUpdatingEvent.cs
- SettingsPropertyValueCollection.cs
- WindowsToolbarAsMenu.cs
- Type.cs
- SettingsPropertyValueCollection.cs
- SizeConverter.cs
- TraceEventCache.cs
- EncryptedReference.cs
- AsyncOperationManager.cs
- WebSysDescriptionAttribute.cs
- Char.cs
- NotifyCollectionChangedEventArgs.cs
- GlyphsSerializer.cs
- RegionData.cs
- WindowHelperService.cs
- TransformGroup.cs
- TextParentUndoUnit.cs
- PingOptions.cs
- RenderDataDrawingContext.cs
- Boolean.cs
- WinEventHandler.cs
- DataGridColumnHeaderAutomationPeer.cs
- ReliableDuplexSessionChannel.cs
- WebBrowsableAttribute.cs
- Attachment.cs
- CheckedListBox.cs
- ContextStaticAttribute.cs
- ProxyGenerator.cs
- ReliabilityContractAttribute.cs
- DependencyObjectType.cs
- DynamicPropertyReader.cs
- DispatcherTimer.cs
- SemanticAnalyzer.cs
- RowToParametersTransformer.cs
- DocumentGridContextMenu.cs
- EnumMember.cs
- ActivationArguments.cs
- _ListenerResponseStream.cs
- ProcessThread.cs
- DataGridViewCheckBoxCell.cs
- DocumentReferenceCollection.cs
- OutputWindow.cs
- ToggleProviderWrapper.cs
- ErrorEventArgs.cs
- LambdaCompiler.Statements.cs
- UriExt.cs
- UIntPtr.cs
- RtfToXamlLexer.cs
- TextBlock.cs
- NonClientArea.cs
- EntityDesignerBuildProvider.cs
- CommandConverter.cs
- GestureRecognizer.cs
- Border.cs
- ScrollableControlDesigner.cs
- XmlSignatureManifest.cs
- SqlRetyper.cs
- SizeChangedEventArgs.cs
- DBCommand.cs
- ListCollectionView.cs
- ReadOnlyTernaryTree.cs
- JapaneseLunisolarCalendar.cs
- HttpProxyTransportBindingElement.cs
- AnnotationHelper.cs
- OleDbConnectionFactory.cs