Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / CustomValidator.cs / 1305376 / CustomValidator.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.ComponentModel;
using System.Diagnostics;
using System.Web.UI.WebControls;
using WebCntrls = System.Web.UI.WebControls;
using System.Security.Permissions;
namespace System.Web.UI.MobileControls
{
/*
* Mobile CustomValidator class.
* The CustomValidator provides the ability to easily write custom server
* validation logic. A user-defined function is called via a single-cast
* delegate to provide server-side custom validation.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[
DefaultEvent("ServerValidate"),
ToolboxData("<{0}:CustomValidator runat=\"server\" ErrorMessage=\"CustomValidator\">{0}:CustomValidator>"),
ToolboxItem("System.Web.UI.Design.WebControlToolboxItem, " + AssemblyRef.SystemDesign)
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public class CustomValidator : BaseValidator
{
private WebCntrls.CustomValidator _webCustomValidator;
// Static objects to identify individual events stored in Events
// property.
private static readonly Object EventServerValidate = new Object();
///
protected override WebCntrls.BaseValidator CreateWebValidator()
{
_webCustomValidator = new WebCntrls.CustomValidator();
// Adding wrapper event handlers for event properties exposed by
// the aggregated control. For more details about the mechanism,
// please see the comment in the constructor of
// Mobile.UI.AdRotator.
ServerValidateEventHandler eventHandler =
new ServerValidateEventHandler(WebServerValidate);
_webCustomValidator.ServerValidate += eventHandler;
return _webCustomValidator;
}
////////////////////////////////////////////////////////////////////////
// Mimic the properties exposed in the original CustomValidator.
////////////////////////////////////////////////////////////////////////
///
[
Bindable(false),
DefaultValue(null),
MobileSysDescription(SR.CustomValidator_OnServerValidate)
]
public event ServerValidateEventHandler ServerValidate
{
add
{
Events.AddHandler(EventServerValidate, value);
}
remove
{
Events.RemoveHandler(EventServerValidate, value);
}
}
// protected method (which can be overridden by subclasses) for
// raising user events
///
protected virtual bool OnServerValidate(String value)
{
ServerValidateEventHandler handler = (ServerValidateEventHandler)Events[EventServerValidate];
if (handler != null)
{
ServerValidateEventArgs args = new ServerValidateEventArgs(value, true);
handler(this, args);
return args.IsValid;
}
else
{
return true;
}
}
private void WebServerValidate(Object source, ServerValidateEventArgs e)
{
// Invoke user events for further manipulation specified by user
Debug.Assert(e != null, "Unexpected null parameter!");
e.IsValid = OnServerValidate(e.Value);
}
///
protected override bool EvaluateIsValid()
{
return EvaluateIsValidInternal();
}
/////////////////////////////////////////////////////////////////////
// Helper function adopted from WebForms CustomValidator
/////////////////////////////////////////////////////////////////////
///
protected override bool ControlPropertiesValid()
{
// Need to override the BaseValidator implementation, because for
// CustomValidator, it is fine for ControlToValidate to be blank.
String controlToValidate = ControlToValidate;
if (controlToValidate.Length > 0)
{
return base.ControlPropertiesValid();
}
return true;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.ComponentModel;
using System.Diagnostics;
using System.Web.UI.WebControls;
using WebCntrls = System.Web.UI.WebControls;
using System.Security.Permissions;
namespace System.Web.UI.MobileControls
{
/*
* Mobile CustomValidator class.
* The CustomValidator provides the ability to easily write custom server
* validation logic. A user-defined function is called via a single-cast
* delegate to provide server-side custom validation.
*
* Copyright (c) 2000 Microsoft Corporation
*/
///
[
DefaultEvent("ServerValidate"),
ToolboxData("<{0}:CustomValidator runat=\"server\" ErrorMessage=\"CustomValidator\">{0}:CustomValidator>"),
ToolboxItem("System.Web.UI.Design.WebControlToolboxItem, " + AssemblyRef.SystemDesign)
]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")]
public class CustomValidator : BaseValidator
{
private WebCntrls.CustomValidator _webCustomValidator;
// Static objects to identify individual events stored in Events
// property.
private static readonly Object EventServerValidate = new Object();
///
protected override WebCntrls.BaseValidator CreateWebValidator()
{
_webCustomValidator = new WebCntrls.CustomValidator();
// Adding wrapper event handlers for event properties exposed by
// the aggregated control. For more details about the mechanism,
// please see the comment in the constructor of
// Mobile.UI.AdRotator.
ServerValidateEventHandler eventHandler =
new ServerValidateEventHandler(WebServerValidate);
_webCustomValidator.ServerValidate += eventHandler;
return _webCustomValidator;
}
////////////////////////////////////////////////////////////////////////
// Mimic the properties exposed in the original CustomValidator.
////////////////////////////////////////////////////////////////////////
///
[
Bindable(false),
DefaultValue(null),
MobileSysDescription(SR.CustomValidator_OnServerValidate)
]
public event ServerValidateEventHandler ServerValidate
{
add
{
Events.AddHandler(EventServerValidate, value);
}
remove
{
Events.RemoveHandler(EventServerValidate, value);
}
}
// protected method (which can be overridden by subclasses) for
// raising user events
///
protected virtual bool OnServerValidate(String value)
{
ServerValidateEventHandler handler = (ServerValidateEventHandler)Events[EventServerValidate];
if (handler != null)
{
ServerValidateEventArgs args = new ServerValidateEventArgs(value, true);
handler(this, args);
return args.IsValid;
}
else
{
return true;
}
}
private void WebServerValidate(Object source, ServerValidateEventArgs e)
{
// Invoke user events for further manipulation specified by user
Debug.Assert(e != null, "Unexpected null parameter!");
e.IsValid = OnServerValidate(e.Value);
}
///
protected override bool EvaluateIsValid()
{
return EvaluateIsValidInternal();
}
/////////////////////////////////////////////////////////////////////
// Helper function adopted from WebForms CustomValidator
/////////////////////////////////////////////////////////////////////
///
protected override bool ControlPropertiesValid()
{
// Need to override the BaseValidator implementation, because for
// CustomValidator, it is fine for ControlToValidate to be blank.
String controlToValidate = ControlToValidate;
if (controlToValidate.Length > 0)
{
return base.ControlPropertiesValid();
}
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
- GeneralTransform3D.cs
- SQLSingleStorage.cs
- InvalidMessageContractException.cs
- ClaimComparer.cs
- EnumMember.cs
- AnchoredBlock.cs
- AssociatedControlConverter.cs
- SecurityContextSecurityToken.cs
- DivideByZeroException.cs
- DragDrop.cs
- SystemEvents.cs
- PrintPreviewControl.cs
- ManagedFilter.cs
- SessionState.cs
- ProxyManager.cs
- UserNameSecurityTokenProvider.cs
- TableLayoutRowStyleCollection.cs
- BlurEffect.cs
- OleDbErrorCollection.cs
- securestring.cs
- Span.cs
- BuildProviderAppliesToAttribute.cs
- RequestValidator.cs
- HitTestDrawingContextWalker.cs
- _IPv4Address.cs
- SmiGettersStream.cs
- QueryResults.cs
- CompiledQueryCacheKey.cs
- ReadOnlyTernaryTree.cs
- ADMembershipUser.cs
- PasswordBox.cs
- SafeReadContext.cs
- ServiceOperationListItemList.cs
- HtmlTitle.cs
- TransactionsSectionGroup.cs
- BinaryKeyIdentifierClause.cs
- LassoHelper.cs
- NamespaceQuery.cs
- TransportConfigurationTypeElementCollection.cs
- DBNull.cs
- Lookup.cs
- InstalledFontCollection.cs
- ButtonRenderer.cs
- XamlStream.cs
- HGlobalSafeHandle.cs
- PointLight.cs
- GeneratedContractType.cs
- DataMemberAttribute.cs
- Rijndael.cs
- FilteredXmlReader.cs
- XmlNodeReader.cs
- ReaderContextStackData.cs
- SessionParameter.cs
- ProfileManager.cs
- ThaiBuddhistCalendar.cs
- FontSizeConverter.cs
- TCEAdapterGenerator.cs
- Block.cs
- SqlGatherConsumedAliases.cs
- FileIOPermission.cs
- UIElementHelper.cs
- StickyNoteHelper.cs
- DoubleCollectionConverter.cs
- CompensateDesigner.cs
- PrintControllerWithStatusDialog.cs
- SafeArrayRankMismatchException.cs
- CodeAttachEventStatement.cs
- TextRangeEdit.cs
- OdbcFactory.cs
- MsmqOutputChannel.cs
- WinFormsComponentEditor.cs
- SoapHeaderException.cs
- DataGridCommandEventArgs.cs
- CachedCompositeFamily.cs
- AttachedPropertyBrowsableAttribute.cs
- SupportingTokenParameters.cs
- MimeTypeMapper.cs
- RuntimeHelpers.cs
- PKCS1MaskGenerationMethod.cs
- TypeUsage.cs
- Menu.cs
- HashHelper.cs
- Comparer.cs
- Point3DCollectionValueSerializer.cs
- FontFamilyIdentifier.cs
- RawUIStateInputReport.cs
- ConnectionOrientedTransportManager.cs
- Figure.cs
- Cursors.cs
- PointAnimation.cs
- DES.cs
- SectionVisual.cs
- Semaphore.cs
- OdbcStatementHandle.cs
- XamlValidatingReader.cs
- AsnEncodedData.cs
- CallbackHandler.cs
- DesignerAttribute.cs
- MemberHolder.cs
- BufferedStream.cs