Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / WebControls / RegularExpressionValidator.cs / 1 / 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.Security.Permissions; using System.Web.Util; ////// [ ToolboxData("<{0}:RegularExpressionValidator runat=\"server\" ErrorMessage=\"RegularExpressionValidator\">{0}:RegularExpressionValidator>") ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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. //------------------------------------------------------------------------------ //// 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.Security.Permissions; using System.Web.Util; ////// [ ToolboxData("<{0}:RegularExpressionValidator runat=\"server\" ErrorMessage=\"RegularExpressionValidator\">{0}:RegularExpressionValidator>") ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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
- SafeCryptoHandles.cs
- DesignerDataSourceView.cs
- SqlClientMetaDataCollectionNames.cs
- CallbackHandler.cs
- Mouse.cs
- TrustManager.cs
- DateTimeConstantAttribute.cs
- PageCatalogPart.cs
- BamlLocalizabilityResolver.cs
- SignatureHelper.cs
- SafeArrayTypeMismatchException.cs
- DirectoryObjectSecurity.cs
- _CookieModule.cs
- PrimitiveList.cs
- TextRangeAdaptor.cs
- GreenMethods.cs
- BlurEffect.cs
- XmlSchemas.cs
- AnalyzedTree.cs
- SQLMoneyStorage.cs
- Line.cs
- ListViewContainer.cs
- HatchBrush.cs
- AsyncResult.cs
- OLEDB_Enum.cs
- ValidatorCollection.cs
- FillErrorEventArgs.cs
- ItemsChangedEventArgs.cs
- RuntimeConfigurationRecord.cs
- EdgeProfileValidation.cs
- PropertyTabAttribute.cs
- XamlReaderHelper.cs
- ActivityStateRecord.cs
- Substitution.cs
- QilChoice.cs
- WasAdminWrapper.cs
- GeneralTransform3D.cs
- DbException.cs
- MSG.cs
- TreeBuilderXamlTranslator.cs
- Point3DIndependentAnimationStorage.cs
- FlagsAttribute.cs
- mediaclock.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- SecureConversationVersion.cs
- CornerRadius.cs
- future.cs
- XPathDocumentIterator.cs
- MembershipSection.cs
- FrameDimension.cs
- PassportAuthenticationEventArgs.cs
- InstancePersistence.cs
- FormViewInsertEventArgs.cs
- TextElementAutomationPeer.cs
- ObjectPersistData.cs
- SystemParameters.cs
- _FixedSizeReader.cs
- TypedServiceChannelBuilder.cs
- LinqDataSourceValidationException.cs
- RecognizedPhrase.cs
- TreeNode.cs
- Int64KeyFrameCollection.cs
- cookieexception.cs
- WebPartDeleteVerb.cs
- glyphs.cs
- ReflectionTypeLoadException.cs
- ParserHooks.cs
- ResourceDictionaryCollection.cs
- WebControlParameterProxy.cs
- _OverlappedAsyncResult.cs
- XmlFormatReaderGenerator.cs
- DbDataReader.cs
- StringComparer.cs
- SmiRecordBuffer.cs
- TreeNodeCollectionEditor.cs
- CancellableEnumerable.cs
- MediaTimeline.cs
- HttpRuntime.cs
- InkCanvasSelection.cs
- AssemblyContextControlItem.cs
- ImageSource.cs
- CqlErrorHelper.cs
- SrgsSubset.cs
- ActiveXSite.cs
- SpotLight.cs
- BinHexDecoder.cs
- FormsAuthenticationCredentials.cs
- DataGridViewImageColumn.cs
- ViewGenResults.cs
- EventLogEntryCollection.cs
- OpCopier.cs
- PriorityQueue.cs
- BamlRecordReader.cs
- Attachment.cs
- SwitchLevelAttribute.cs
- PageAsyncTask.cs
- ApplicationServicesHostFactory.cs
- Thread.cs
- ReferentialConstraintRoleElement.cs
- EntryIndex.cs