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
- NetStream.cs
- TransactionsSectionGroup.cs
- Menu.cs
- ScriptingSectionGroup.cs
- IsolatedStoragePermission.cs
- DecoderExceptionFallback.cs
- ToolStripAdornerWindowService.cs
- HtmlInputSubmit.cs
- Connector.xaml.cs
- CookielessHelper.cs
- CompareInfo.cs
- SafePointer.cs
- TcpChannelHelper.cs
- SqlClientWrapperSmiStreamChars.cs
- precedingsibling.cs
- TemplateKeyConverter.cs
- Bezier.cs
- HttpUnhandledOperationInvoker.cs
- AttachedPropertyInfo.cs
- GeometryGroup.cs
- _NtlmClient.cs
- embossbitmapeffect.cs
- AccessControlEntry.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- AuthenticateEventArgs.cs
- HttpHandlersSection.cs
- SecurityDescriptor.cs
- Interlocked.cs
- ModelItemExtensions.cs
- ContextMarshalException.cs
- DataRowChangeEvent.cs
- _HTTPDateParse.cs
- HwndKeyboardInputProvider.cs
- XhtmlStyleClass.cs
- SignatureSummaryDialog.cs
- DetailsViewPagerRow.cs
- ValueOfAction.cs
- OutputCacheProfileCollection.cs
- InkCanvas.cs
- TdsParameterSetter.cs
- DBCommandBuilder.cs
- Lease.cs
- WorkflowRuntimeServiceElementCollection.cs
- RoleService.cs
- CapabilitiesRule.cs
- LocalValueEnumerator.cs
- ServiceDiscoveryBehavior.cs
- BooleanSwitch.cs
- SocketPermission.cs
- Clause.cs
- HttpListenerContext.cs
- FileDialogCustomPlace.cs
- SessionSwitchEventArgs.cs
- PropertyChangedEventManager.cs
- WebPartEditVerb.cs
- NetworkInterface.cs
- ProxyWebPartConnectionCollection.cs
- PanelStyle.cs
- RuleInfoComparer.cs
- Message.cs
- Transform3DGroup.cs
- ApplicationTrust.cs
- CodeDelegateInvokeExpression.cs
- Cursor.cs
- SqlMethodAttribute.cs
- RadioButtonFlatAdapter.cs
- DiscoveryService.cs
- XmlDataLoader.cs
- basemetadatamappingvisitor.cs
- Vector3dCollection.cs
- XmlTypeAttribute.cs
- UnsafeNativeMethodsMilCoreApi.cs
- MailMessage.cs
- EntitySetRetriever.cs
- MultipleViewProviderWrapper.cs
- Stopwatch.cs
- CallContext.cs
- RepeaterItemEventArgs.cs
- DrawingState.cs
- SafeNativeMethods.cs
- HuffModule.cs
- UnsafeNativeMethodsTablet.cs
- UnsafePeerToPeerMethods.cs
- OwnerDrawPropertyBag.cs
- LinkUtilities.cs
- TablePattern.cs
- TargetControlTypeCache.cs
- ReferencedCollectionType.cs
- FormsAuthenticationTicket.cs
- LambdaCompiler.ControlFlow.cs
- CommunicationObjectManager.cs
- DateTimeValueSerializerContext.cs
- ResourcePool.cs
- GridLength.cs
- Stack.cs
- DataBoundControlParameterTarget.cs
- CookielessHelper.cs
- CallbackValidator.cs
- XmlSchemaSequence.cs
- XmlStringTable.cs