Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- ConfigurationSectionCollection.cs
- TableRowsCollectionEditor.cs
- PageTheme.cs
- WorkflowDataContext.cs
- TagMapInfo.cs
- ListControl.cs
- AppearanceEditorPart.cs
- ScriptControlManager.cs
- ErrorProvider.cs
- DataSourceHelper.cs
- LicenseException.cs
- StringUtil.cs
- OperationAbortedException.cs
- ComponentResourceManager.cs
- DelegateHelpers.cs
- GridViewPageEventArgs.cs
- MaskedTextBoxDesigner.cs
- followingquery.cs
- printdlgexmarshaler.cs
- PngBitmapDecoder.cs
- CollectionView.cs
- SmiEventSink_DeferedProcessing.cs
- HtmlToClrEventProxy.cs
- WebPartCollection.cs
- Stack.cs
- SymbolEqualComparer.cs
- MsmqHostedTransportConfiguration.cs
- XamlPoint3DCollectionSerializer.cs
- EntityTransaction.cs
- RoleServiceManager.cs
- ObjectContextServiceProvider.cs
- ICollection.cs
- NotifyCollectionChangedEventArgs.cs
- SmtpCommands.cs
- Accessors.cs
- TypeUtil.cs
- AutomationIdentifierGuids.cs
- ResolveDuplexAsyncResult.cs
- Size3D.cs
- ChildTable.cs
- glyphs.cs
- DesignerAttribute.cs
- RectValueSerializer.cs
- FormViewDeletedEventArgs.cs
- DataTableCollection.cs
- SecureEnvironment.cs
- AbsoluteQuery.cs
- AccessDataSourceView.cs
- ObjectDataProvider.cs
- WorkflowQueue.cs
- RSACryptoServiceProvider.cs
- ExpressionBindingCollection.cs
- OperandQuery.cs
- WebPartDisplayModeCollection.cs
- SessionEndedEventArgs.cs
- XmlValidatingReader.cs
- ButtonFieldBase.cs
- SQLUtility.cs
- RowType.cs
- DocumentViewerBase.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ModifierKeysValueSerializer.cs
- ActivitySurrogateSelector.cs
- InvokeGenerator.cs
- WindowsHyperlink.cs
- ServiceTimeoutsElement.cs
- HatchBrush.cs
- WebControlsSection.cs
- TableParagraph.cs
- FlatButtonAppearance.cs
- DataGrid.cs
- GreaterThan.cs
- JobDuplex.cs
- HtmlTableRow.cs
- IssuanceLicense.cs
- DynamicVirtualDiscoSearcher.cs
- TextOutput.cs
- IncrementalReadDecoders.cs
- ScriptRef.cs
- DateTimeConverter.cs
- printdlgexmarshaler.cs
- ComUdtElement.cs
- CompositeDataBoundControl.cs
- XmlEnumAttribute.cs
- QueryCacheManager.cs
- AdvancedBindingEditor.cs
- _ProxyRegBlob.cs
- Message.cs
- MissingMemberException.cs
- WhereQueryOperator.cs
- XmlReflectionMember.cs
- CancellationHandler.cs
- TargetParameterCountException.cs
- WebPartHelpVerb.cs
- SerializationTrace.cs
- TCEAdapterGenerator.cs
- DoubleLinkListEnumerator.cs
- MatrixTransform3D.cs
- SqlBuffer.cs
- AssemblyName.cs