Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Configuration / System / Configuration / RegexStringValidator.cs / 1 / RegexStringValidator.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 RegexStringValidator : ConfigurationValidatorBase { private string _expression; private Regex _regex; public RegexStringValidator(string regex) { if (string.IsNullOrEmpty(regex)) { throw ExceptionUtil.ParameterNullOrEmpty("regex"); } _expression = regex; _regex = new Regex(regex, RegexOptions.Compiled); } public override bool CanValidate(Type type) { return (type == typeof(string)); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(string)); if (value == null) { return; } Match match = _regex.Match((string)value); if (!match.Success) { throw new ArgumentException(SR.GetString(SR.Regex_validator_error, _expression)); } } } } // 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 RegexStringValidator : ConfigurationValidatorBase { private string _expression; private Regex _regex; public RegexStringValidator(string regex) { if (string.IsNullOrEmpty(regex)) { throw ExceptionUtil.ParameterNullOrEmpty("regex"); } _expression = regex; _regex = new Regex(regex, RegexOptions.Compiled); } public override bool CanValidate(Type type) { return (type == typeof(string)); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(string)); if (value == null) { return; } Match match = _regex.Match((string)value); if (!match.Success) { throw new ArgumentException(SR.GetString(SR.Regex_validator_error, _expression)); } } } } // 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
- ActivityValidator.cs
- XmlNamespaceManager.cs
- ZipIOLocalFileDataDescriptor.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- NotFiniteNumberException.cs
- ReadWriteSpinLock.cs
- SqlCacheDependencySection.cs
- KeyBinding.cs
- XmlDataSource.cs
- DeclarativeCatalogPart.cs
- ComponentDispatcher.cs
- PeerNameRegistration.cs
- IsolatedStorageException.cs
- Models.cs
- peersecurityelement.cs
- RoleGroup.cs
- ValueTypeFixupInfo.cs
- ThreadStateException.cs
- SqlParameterizer.cs
- LoginUtil.cs
- HostExecutionContextManager.cs
- TextServicesCompartmentContext.cs
- WebHttpBindingElement.cs
- DataProtection.cs
- AsyncStreamReader.cs
- NonSerializedAttribute.cs
- HttpListenerContext.cs
- WebBrowserEvent.cs
- _IPv6Address.cs
- QilGeneratorEnv.cs
- HttpModuleCollection.cs
- ParameterSubsegment.cs
- TypeDescriptionProvider.cs
- FileDialog.cs
- CheckBoxStandardAdapter.cs
- ViewGenerator.cs
- CodeCatchClauseCollection.cs
- ContentControl.cs
- AsynchronousChannelMergeEnumerator.cs
- AsyncResult.cs
- DSASignatureFormatter.cs
- FloaterParaClient.cs
- BinaryObjectWriter.cs
- DynamicRenderer.cs
- DataGridView.cs
- TableLayoutPanelCellPosition.cs
- Permission.cs
- RangeValuePatternIdentifiers.cs
- DefaultBindingPropertyAttribute.cs
- ContextMenu.cs
- SpeechSeg.cs
- CommandDevice.cs
- HttpListenerRequest.cs
- CreateRefExpr.cs
- TextTreeTextBlock.cs
- OneOfConst.cs
- NamespaceQuery.cs
- UdpTransportSettings.cs
- WebPartCatalogCloseVerb.cs
- TreeSet.cs
- CanonicalFontFamilyReference.cs
- TypeGenericEnumerableViewSchema.cs
- TypeElement.cs
- ResolveDuplexCD1AsyncResult.cs
- EdmProviderManifest.cs
- MissingSatelliteAssemblyException.cs
- __ConsoleStream.cs
- WindowsListViewItemStartMenu.cs
- KeyProperty.cs
- ListViewUpdateEventArgs.cs
- DynamicResourceExtension.cs
- ArraySegment.cs
- PageThemeCodeDomTreeGenerator.cs
- OutputCacheModule.cs
- PackageRelationshipCollection.cs
- LocatorManager.cs
- DataComponentNameHandler.cs
- Separator.cs
- HtmlTableRow.cs
- contentDescriptor.cs
- NetworkCredential.cs
- XmlAttributeCache.cs
- AttributeEmitter.cs
- RightNameExpirationInfoPair.cs
- QilName.cs
- GifBitmapDecoder.cs
- ThreadNeutralSemaphore.cs
- DataRow.cs
- AsyncContentLoadedEventArgs.cs
- SslStream.cs
- ReceiveErrorHandling.cs
- Types.cs
- ProcessHostFactoryHelper.cs
- List.cs
- ConfigXmlAttribute.cs
- objectquery_tresulttype.cs
- XPathScanner.cs
- MaskInputRejectedEventArgs.cs
- IgnoreDeviceFilterElement.cs
- WorkflowQueue.cs