Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XpsFilter.cs
- NeutralResourcesLanguageAttribute.cs
- BamlLocalizableResource.cs
- AssemblyResourceLoader.cs
- COAUTHIDENTITY.cs
- _LocalDataStoreMgr.cs
- XsdDuration.cs
- HostingEnvironmentSection.cs
- CredentialCache.cs
- TileBrush.cs
- TextParagraphProperties.cs
- RSAPKCS1SignatureFormatter.cs
- StrongNamePublicKeyBlob.cs
- RadioButtonList.cs
- DBPropSet.cs
- CancellationToken.cs
- DataGridViewCellStyleConverter.cs
- _RequestCacheProtocol.cs
- CorrelationHandle.cs
- StylusPoint.cs
- ButtonBaseAutomationPeer.cs
- ConfigXmlWhitespace.cs
- HtmlHead.cs
- LocalBuilder.cs
- WinCategoryAttribute.cs
- UIntPtr.cs
- XmlFormatReaderGenerator.cs
- TemplateBindingExpressionConverter.cs
- BoundColumn.cs
- BufferBuilder.cs
- CannotUnloadAppDomainException.cs
- WriteTimeStream.cs
- ColumnCollection.cs
- webeventbuffer.cs
- TextPenaltyModule.cs
- StringInfo.cs
- DataControlFieldHeaderCell.cs
- Expander.cs
- HuffmanTree.cs
- Triplet.cs
- AccessDataSource.cs
- X509SubjectKeyIdentifierClause.cs
- ValidatedControlConverter.cs
- WorkflowExecutor.cs
- SyndicationSerializer.cs
- HttpPostClientProtocol.cs
- HashCodeCombiner.cs
- ParameterRefs.cs
- TypeUsage.cs
- CodeDefaultValueExpression.cs
- InternalConfigHost.cs
- PropertyOverridesDialog.cs
- TlsnegoTokenProvider.cs
- GestureRecognizer.cs
- Socket.cs
- RowToFieldTransformer.cs
- IRCollection.cs
- HebrewNumber.cs
- KeyedQueue.cs
- AsnEncodedData.cs
- ExpressionVisitor.cs
- XmlUtil.cs
- QuaternionAnimation.cs
- GenericUI.cs
- ReaderWriterLock.cs
- ScriptReferenceBase.cs
- ToolStripDropTargetManager.cs
- MetadataItem_Static.cs
- PropertyDescriptor.cs
- InheritablePropertyChangeInfo.cs
- XmlILCommand.cs
- BinaryObjectInfo.cs
- DataControlPagerLinkButton.cs
- CurrentChangingEventManager.cs
- WmpBitmapDecoder.cs
- AuthenticationConfig.cs
- CodeVariableReferenceExpression.cs
- StringComparer.cs
- datacache.cs
- BindingsCollection.cs
- ResourceAssociationSetEnd.cs
- VisualStyleElement.cs
- MSAAWinEventWrap.cs
- MetaData.cs
- WebConfigurationFileMap.cs
- StyleModeStack.cs
- PageParserFilter.cs
- Invariant.cs
- TextDpi.cs
- FormsAuthenticationUser.cs
- ImpersonationContext.cs
- ConditionalWeakTable.cs
- BypassElementCollection.cs
- WebHttpBinding.cs
- MethodBuilder.cs
- ObjectListComponentEditor.cs
- XsltLibrary.cs
- DnsPermission.cs
- WebConfigurationHostFileChange.cs
- BinaryObjectInfo.cs