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
- BreakRecordTable.cs
- SiteMapNodeItem.cs
- ListViewGroupConverter.cs
- QilXmlWriter.cs
- rsa.cs
- Stylus.cs
- SortedList.cs
- OletxTransactionFormatter.cs
- TextTreeInsertElementUndoUnit.cs
- ModelFunction.cs
- RadioButton.cs
- ArrayElementGridEntry.cs
- LinkArea.cs
- ConstructorArgumentAttribute.cs
- PriorityItem.cs
- RegistrationServices.cs
- DocumentSchemaValidator.cs
- ConsoleKeyInfo.cs
- WindowsTokenRoleProvider.cs
- GiveFeedbackEvent.cs
- SemanticAnalyzer.cs
- ShaderRenderModeValidation.cs
- UrlMapping.cs
- LayoutEditorPart.cs
- WebConfigurationManager.cs
- CheckableControlBaseAdapter.cs
- DataControlFieldCell.cs
- _Rfc2616CacheValidators.cs
- DBCommandBuilder.cs
- PauseStoryboard.cs
- XmlnsCache.cs
- DataControlImageButton.cs
- ListChangedEventArgs.cs
- ClientRoleProvider.cs
- CroppedBitmap.cs
- DependencyObjectPropertyDescriptor.cs
- MergeFailedEvent.cs
- TextComposition.cs
- BindableAttribute.cs
- DesigntimeLicenseContextSerializer.cs
- QueryResults.cs
- NativeMethods.cs
- GB18030Encoding.cs
- HtmlInputSubmit.cs
- HttpBrowserCapabilitiesBase.cs
- WmfPlaceableFileHeader.cs
- MultiSelector.cs
- MappingItemCollection.cs
- SynchronizedPool.cs
- ObsoleteAttribute.cs
- Array.cs
- DateTimeValueSerializerContext.cs
- InputScope.cs
- _NestedMultipleAsyncResult.cs
- _IPv4Address.cs
- MappedMetaModel.cs
- TailPinnedEventArgs.cs
- HttpApplication.cs
- URLString.cs
- X509Extension.cs
- SoapAttributeOverrides.cs
- Funcletizer.cs
- WebPartDisplayMode.cs
- ConnectionsZone.cs
- TextRangeProviderWrapper.cs
- UndoManager.cs
- FlowNode.cs
- ClipboardData.cs
- TextEndOfSegment.cs
- ReferencedCategoriesDocument.cs
- SmiMetaDataProperty.cs
- MenuCommandService.cs
- ListItemConverter.cs
- XXXOnTypeBuilderInstantiation.cs
- ManipulationStartingEventArgs.cs
- xml.cs
- AstNode.cs
- MediaPlayer.cs
- StaticResourceExtension.cs
- TextBoxAutomationPeer.cs
- DataGridViewRowStateChangedEventArgs.cs
- LineServicesRun.cs
- CodeSnippetStatement.cs
- CaseInsensitiveHashCodeProvider.cs
- QueryableDataSourceView.cs
- Int16Converter.cs
- TransportManager.cs
- Int32Rect.cs
- MediaCommands.cs
- ToolboxComponentsCreatedEventArgs.cs
- HtmlTableRowCollection.cs
- Splitter.cs
- SQLInt64Storage.cs
- XhtmlBasicCommandAdapter.cs
- UIElementAutomationPeer.cs
- DeobfuscatingStream.cs
- DataTableReaderListener.cs
- ColorConverter.cs
- LowerCaseStringConverter.cs
- OracleBinary.cs