Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Configuration / System / Configuration / StringValidator.cs / 1 / 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
- RegexParser.cs
- ListenerUnsafeNativeMethods.cs
- InputElement.cs
- AxisAngleRotation3D.cs
- PolicyStatement.cs
- DataGridTemplateColumn.cs
- XmlBaseReader.cs
- ToolStripItemTextRenderEventArgs.cs
- Triplet.cs
- FtpWebRequest.cs
- CodeNamespaceImportCollection.cs
- InvalidDataException.cs
- AudienceUriMode.cs
- SizeConverter.cs
- CqlBlock.cs
- UriScheme.cs
- ListContractAdapter.cs
- ObsoleteAttribute.cs
- Win32.cs
- XmlComment.cs
- HtmlForm.cs
- Events.cs
- XmlSchemaChoice.cs
- DocumentSchemaValidator.cs
- RightsManagementEncryptedStream.cs
- NavigationPropertyEmitter.cs
- XPathScanner.cs
- StackBuilderSink.cs
- MarshalByValueComponent.cs
- diagnosticsswitches.cs
- FlowLayoutSettings.cs
- KerberosTokenFactoryCredential.cs
- ReadContentAsBinaryHelper.cs
- ControlCollection.cs
- shaperfactory.cs
- CompilerErrorCollection.cs
- MethodCallConverter.cs
- DefinitionBase.cs
- TriggerAction.cs
- RuntimeUtils.cs
- ErrorView.xaml.cs
- LineGeometry.cs
- NavigateEvent.cs
- StreamReader.cs
- HTTPNotFoundHandler.cs
- ColumnClickEvent.cs
- QueryOpcode.cs
- TabControlDesigner.cs
- DoubleLink.cs
- DirectoryObjectSecurity.cs
- RadioButton.cs
- RegexRunner.cs
- UrlMappingsSection.cs
- DataGridViewComboBoxColumn.cs
- ETagAttribute.cs
- MembershipValidatePasswordEventArgs.cs
- RelationshipDetailsRow.cs
- XamlBuildTaskServices.cs
- WCFBuildProvider.cs
- ManifestResourceInfo.cs
- EncodingDataItem.cs
- DataServiceConfiguration.cs
- TextTreePropertyUndoUnit.cs
- Shape.cs
- PowerModeChangedEventArgs.cs
- RijndaelManaged.cs
- RequestQueue.cs
- OrElse.cs
- CodeExpressionStatement.cs
- IHttpResponseInternal.cs
- HandledMouseEvent.cs
- ListBindableAttribute.cs
- UpDownEvent.cs
- UTF7Encoding.cs
- GlobalItem.cs
- CommandHelpers.cs
- BamlCollectionHolder.cs
- NavigateEvent.cs
- WindowsListView.cs
- Asn1IntegerConverter.cs
- BrowserCapabilitiesCodeGenerator.cs
- KeyValuePair.cs
- ScrollEventArgs.cs
- MailWebEventProvider.cs
- ToolStripOverflowButton.cs
- TraceProvider.cs
- EnterpriseServicesHelper.cs
- ClientConvert.cs
- FixedSOMElement.cs
- TypeUtils.cs
- _DigestClient.cs
- CryptographicAttribute.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- LinkButton.cs
- Matrix3DConverter.cs
- BinaryReader.cs
- GlyphRun.cs
- IPHostEntry.cs
- __FastResourceComparer.cs
- ClickablePoint.cs