Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- SerialStream.cs
- EncoderNLS.cs
- TypeHelpers.cs
- HiddenFieldPageStatePersister.cs
- Queue.cs
- SecurityElement.cs
- ListControlBuilder.cs
- ElementUtil.cs
- SerializationInfo.cs
- StdValidatorsAndConverters.cs
- ContextMenu.cs
- PropertyItem.cs
- Utils.cs
- DrawingGroup.cs
- ParallelRangeManager.cs
- SecurityTokenProvider.cs
- UriSection.cs
- ListBoxItemWrapperAutomationPeer.cs
- SafeReversePInvokeHandle.cs
- JavaScriptSerializer.cs
- RelatedPropertyManager.cs
- ChangeNode.cs
- CngUIPolicy.cs
- UserControlParser.cs
- ChangeTracker.cs
- RtfToken.cs
- OperationResponse.cs
- CodeGen.cs
- DesignerListAdapter.cs
- PropertyStore.cs
- PropertiesTab.cs
- XsltCompileContext.cs
- FastEncoderWindow.cs
- TypeSystemHelpers.cs
- XmlPropertyBag.cs
- HostingEnvironmentSection.cs
- Root.cs
- ModifierKeysValueSerializer.cs
- DbParameterHelper.cs
- ExpressionEditorAttribute.cs
- XmlSchemaSimpleContent.cs
- ExcCanonicalXml.cs
- Sql8ExpressionRewriter.cs
- XmlSchemaRedefine.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- RegexInterpreter.cs
- SynchronizationContext.cs
- DataFormats.cs
- SafePointer.cs
- DesigntimeLicenseContextSerializer.cs
- SqlDataReader.cs
- XmlElementAttribute.cs
- FixedLineResult.cs
- __Error.cs
- ScopeElement.cs
- EntityUtil.cs
- COAUTHIDENTITY.cs
- PipelineModuleStepContainer.cs
- Executor.cs
- DeleteBookmarkScope.cs
- FileSystemEnumerable.cs
- MatrixAnimationUsingPath.cs
- SqlDataSourceQueryConverter.cs
- Console.cs
- Opcode.cs
- Merger.cs
- AbstractDataSvcMapFileLoader.cs
- Msec.cs
- SystemWebExtensionsSectionGroup.cs
- SerializableAuthorizationContext.cs
- SQLResource.cs
- ThreadAbortException.cs
- AccessDataSourceDesigner.cs
- Focus.cs
- UriExt.cs
- IssuedSecurityTokenParameters.cs
- ByteViewer.cs
- ToolConsole.cs
- DataBoundControl.cs
- EntityClassGenerator.cs
- ImageFormat.cs
- InternalCompensate.cs
- CodeParameterDeclarationExpression.cs
- SmiRecordBuffer.cs
- XPathEmptyIterator.cs
- WebPartHelpVerb.cs
- UserPreferenceChangedEventArgs.cs
- Bidi.cs
- ReliableDuplexSessionChannel.cs
- Enlistment.cs
- WebBodyFormatMessageProperty.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- CounterSampleCalculator.cs
- GridLengthConverter.cs
- SplitContainer.cs
- XmlNotation.cs
- DataGridItem.cs
- TaskHelper.cs
- ArrayHelper.cs
- OracleCommandBuilder.cs