Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / RegularExpressionValidator.cs / 1305376 / RegularExpressionValidator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Web.UI.WebControls { using System.ComponentModel; using System.ComponentModel.Design; using System.Text.RegularExpressions; using System.Drawing.Design; using System.Web; using System.Web.Util; ////// [ ToolboxData("<{0}:RegularExpressionValidator runat=\"server\" ErrorMessage=\"RegularExpressionValidator\">{0}:RegularExpressionValidator>") ] public class RegularExpressionValidator : BaseValidator { ///Checks if the value of the associated input control matches the pattern /// of a regular expression. ////// [ WebCategory("Behavior"), Themeable(false), DefaultValue(""), Editor("System.Web.UI.Design.WebControls.RegexTypeEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)), WebSysDescription(SR.RegularExpressionValidator_ValidationExpression) ] public string ValidationExpression { get { object o = ViewState["ValidationExpression"]; return((o == null) ? String.Empty : (string)o); } set { try { Regex.IsMatch(String.Empty, value); } catch (Exception e) { throw new HttpException( SR.GetString(SR.Validator_bad_regex, value), e); } ViewState["ValidationExpression"] = value; } } ///Indicates the regular expression assigned to be the validation criteria. ////// /// AddAttributesToRender method /// protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); if (RenderUplevel) { string id = ClientID; HtmlTextWriter expandoAttributeWriter = (EnableLegacyRendering) ? writer : null; AddExpandoAttribute(expandoAttributeWriter, id, "evaluationfunction", "RegularExpressionValidatorEvaluateIsValid", false); if (ValidationExpression.Length > 0) { AddExpandoAttribute(expandoAttributeWriter, id, "validationexpression", ValidationExpression); } } } ////// /// EvaluateIsValid method /// protected override bool EvaluateIsValid() { // Always succeeds if input is empty or value was not found string controlValue = GetControlValidationValue(ControlToValidate); Debug.Assert(controlValue != null, "Should have already been checked"); if (controlValue == null || controlValue.Trim().Length == 0) { return true; } try { // we are looking for an exact match, not just a search hit Match m = Regex.Match(controlValue, ValidationExpression); return(m.Success && m.Index == 0 && m.Length == controlValue.Length); } catch { Debug.Fail("Regex error should have been caught in property setter."); return true; } } } } // 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
- IOThreadTimer.cs
- UIAgentAsyncEndRequest.cs
- TableHeaderCell.cs
- OleDbFactory.cs
- ToolBarButton.cs
- BitmapFrameEncode.cs
- SaveFileDialog.cs
- ListBindingConverter.cs
- X509Certificate2Collection.cs
- BaseParagraph.cs
- BuildProvider.cs
- ListenerAdapterBase.cs
- ToolStrip.cs
- DocumentSignatureManager.cs
- NullReferenceException.cs
- XmlExtensionFunction.cs
- UnmanagedMarshal.cs
- ObjectConverter.cs
- ReturnType.cs
- FilePresentation.cs
- GorillaCodec.cs
- DesignerProperties.cs
- TrackingServices.cs
- ClassicBorderDecorator.cs
- ErrorActivity.cs
- ClipboardProcessor.cs
- DetailsViewPagerRow.cs
- LinearKeyFrames.cs
- ComboBox.cs
- MappingSource.cs
- DescriptionAttribute.cs
- SafeRightsManagementHandle.cs
- DataBindEngine.cs
- Cursors.cs
- BindingListCollectionView.cs
- WrappingXamlSchemaContext.cs
- Vector3DKeyFrameCollection.cs
- DataGridViewElement.cs
- ErasingStroke.cs
- ApplicationInfo.cs
- SizeValueSerializer.cs
- LicenseManager.cs
- IriParsingElement.cs
- SqlDataSourceEnumerator.cs
- GridViewColumnHeader.cs
- PathFigureCollection.cs
- ProfileManager.cs
- DependentTransaction.cs
- WorkerRequest.cs
- FixedSOMLineRanges.cs
- SocketAddress.cs
- RequestResizeEvent.cs
- NetworkInformationPermission.cs
- ConfigurationSettings.cs
- ReaderOutput.cs
- FlowPosition.cs
- CodeMemberField.cs
- DataViewManager.cs
- GridViewSelectEventArgs.cs
- GcHandle.cs
- InnerItemCollectionView.cs
- PaperSource.cs
- CachedRequestParams.cs
- StateBag.cs
- Size3DValueSerializer.cs
- Endpoint.cs
- EnumerableCollectionView.cs
- __Error.cs
- HandlerFactoryCache.cs
- GorillaCodec.cs
- Adorner.cs
- SoapInteropTypes.cs
- SqlCacheDependency.cs
- ImageKeyConverter.cs
- XmlDataSourceNodeDescriptor.cs
- Executor.cs
- DataTableReaderListener.cs
- StrokeCollectionConverter.cs
- QueryOptionExpression.cs
- ScrollChrome.cs
- UnsafeNativeMethodsPenimc.cs
- DoubleLink.cs
- PrimitiveList.cs
- RuntimeCompatibilityAttribute.cs
- TextTreeTextBlock.cs
- BufferBuilder.cs
- FileLogRecordHeader.cs
- IdentityReference.cs
- PolyLineSegment.cs
- DataGridViewUtilities.cs
- QueryCacheKey.cs
- SchemaTableColumn.cs
- DesignerSerializerAttribute.cs
- WmlLabelAdapter.cs
- LineServices.cs
- DefaultObjectMappingItemCollection.cs
- ManagementEventWatcher.cs
- SqlGenerator.cs
- Parallel.cs
- WindowsToolbar.cs