Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GPPOINTF.cs
- CompositeFontFamily.cs
- WebPartConnectionsConfigureVerb.cs
- TextServicesPropertyRanges.cs
- ErrorWrapper.cs
- TdsParserStateObject.cs
- ActiveXSerializer.cs
- UnknownExceptionActionHelper.cs
- XpsPackagingException.cs
- MachineKey.cs
- DataSourceXmlSubItemAttribute.cs
- IisTraceListener.cs
- ManagementNamedValueCollection.cs
- SimpleExpression.cs
- ParameterCollectionEditorForm.cs
- WebPartDisplayModeCancelEventArgs.cs
- DecoratedNameAttribute.cs
- TempFiles.cs
- UTF32Encoding.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- OperationSelectorBehavior.cs
- AvTrace.cs
- SystemGatewayIPAddressInformation.cs
- FileInfo.cs
- dsa.cs
- TabPanel.cs
- InstanceKeyCompleteException.cs
- InputLanguageSource.cs
- GradientSpreadMethodValidation.cs
- DataGridViewBindingCompleteEventArgs.cs
- MatrixTransform3D.cs
- XamlFilter.cs
- OleDbConnectionInternal.cs
- PersistenceException.cs
- SQLDateTimeStorage.cs
- NavigationProperty.cs
- DeploymentSection.cs
- ListViewTableRow.cs
- OleCmdHelper.cs
- PageRequestManager.cs
- ScriptRegistrationManager.cs
- RegexStringValidatorAttribute.cs
- RectangleF.cs
- GlyphsSerializer.cs
- DocumentEventArgs.cs
- FeatureSupport.cs
- DesignerTextViewAdapter.cs
- DataMisalignedException.cs
- ThreadExceptionDialog.cs
- Point3DValueSerializer.cs
- XmlFormatReaderGenerator.cs
- HttpWebResponse.cs
- TransactionManager.cs
- SmtpReplyReaderFactory.cs
- EventDescriptor.cs
- HitTestFilterBehavior.cs
- XPathAncestorIterator.cs
- Hash.cs
- EffectiveValueEntry.cs
- BufferedStream.cs
- TextSearch.cs
- SchemaImporterExtension.cs
- ErrorInfoXmlDocument.cs
- HttpClientChannel.cs
- HtmlTableCell.cs
- HtmlMeta.cs
- CompilationLock.cs
- IndexExpression.cs
- WSDualHttpBindingCollectionElement.cs
- FileResponseElement.cs
- nulltextcontainer.cs
- XsdSchemaFileEditor.cs
- XslNumber.cs
- Select.cs
- RemotingConfigParser.cs
- XmlILOptimizerVisitor.cs
- PerformanceCountersElement.cs
- RouteItem.cs
- FileClassifier.cs
- ListItemConverter.cs
- CallSiteHelpers.cs
- BlurBitmapEffect.cs
- XmlILOptimizerVisitor.cs
- CompatibleIComparer.cs
- VisualBasicImportReference.cs
- DataShape.cs
- columnmapfactory.cs
- GridViewCellAutomationPeer.cs
- XmlDataSourceNodeDescriptor.cs
- BitmapFrame.cs
- EntityChangedParams.cs
- DecoderExceptionFallback.cs
- CombinedGeometry.cs
- ObjectDataSourceSelectingEventArgs.cs
- DefaultTraceListener.cs
- RawStylusInputCustomDataList.cs
- WebHttpElement.cs
- CqlIdentifiers.cs
- WindowsNonControl.cs
- MessageProtectionOrder.cs