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
- Pointer.cs
- DynamicEntity.cs
- BinHexEncoder.cs
- OracleNumber.cs
- OleDbPropertySetGuid.cs
- PropertyCondition.cs
- SynchronizationContext.cs
- SQLInt16.cs
- Transform3DCollection.cs
- clipboard.cs
- CommentEmitter.cs
- BlobPersonalizationState.cs
- SerializerProvider.cs
- UserControl.cs
- SystemResourceHost.cs
- SiteMap.cs
- PermissionRequestEvidence.cs
- Transactions.cs
- QEncodedStream.cs
- Rfc2898DeriveBytes.cs
- Section.cs
- ColumnBinding.cs
- UrlMappingCollection.cs
- WebPartTracker.cs
- DataSourceHelper.cs
- XmlObjectSerializerWriteContext.cs
- SspiNegotiationTokenAuthenticator.cs
- NotificationContext.cs
- InputScopeNameConverter.cs
- DependencyObjectProvider.cs
- DayRenderEvent.cs
- RIPEMD160.cs
- TreeNodeEventArgs.cs
- AddInAdapter.cs
- TransportSecurityBindingElement.cs
- ToolStripSeparator.cs
- RawMouseInputReport.cs
- DefaultEvaluationContext.cs
- ZipIOFileItemStream.cs
- ExpressionHelper.cs
- AuthenticationSection.cs
- ToolStripManager.cs
- TabPage.cs
- FixedPage.cs
- Quad.cs
- ProxySimple.cs
- WeakEventTable.cs
- QuaternionAnimation.cs
- PropertyMapper.cs
- SchemaNamespaceManager.cs
- ResXResourceWriter.cs
- WorkflowElementDialog.cs
- ImageBrush.cs
- CompositeFontFamily.cs
- MdImport.cs
- CalculatedColumn.cs
- TableLayoutStyleCollection.cs
- ConcurrentStack.cs
- DataGridViewAccessibleObject.cs
- NamespaceInfo.cs
- DataGridViewCheckBoxCell.cs
- XmlQueryContext.cs
- CommentAction.cs
- DurableOperationContext.cs
- PointCollectionConverter.cs
- AsymmetricKeyExchangeFormatter.cs
- XmlJsonWriter.cs
- XPathBuilder.cs
- SplitterEvent.cs
- RowSpanVector.cs
- ChtmlTextBoxAdapter.cs
- DoubleCollection.cs
- ApplicationBuildProvider.cs
- DataGridTableCollection.cs
- CopyNodeSetAction.cs
- FileLoadException.cs
- DynamicQueryStringParameter.cs
- RelationshipDetailsRow.cs
- TaskFormBase.cs
- ActivationServices.cs
- SettingsBindableAttribute.cs
- ListBox.cs
- unitconverter.cs
- XmlSchemaDatatype.cs
- DiffuseMaterial.cs
- ConstNode.cs
- OdbcDataReader.cs
- LogLogRecordEnumerator.cs
- HandlerBase.cs
- ExpandCollapseProviderWrapper.cs
- ChangePassword.cs
- PolyLineSegmentFigureLogic.cs
- CodeArrayIndexerExpression.cs
- Utilities.cs
- SQLByte.cs
- GroupBoxRenderer.cs
- ListViewContainer.cs
- TextTreeNode.cs
- ApplicationServiceHelper.cs
- CharConverter.cs