2010-06-21 Marek Habersack <mhabersack@novell.com>
[mcs.git] / class / System.Web.Mvc / System.Web.Mvc / ValidateInputAttribute.cs
blob7e07f99e6048e2577f579f3e6a6019368878fa4c
1 /* ****************************************************************************
3 * Copyright (c) Microsoft Corporation. All rights reserved.
5 * This software is subject to the Microsoft Public License (Ms-PL).
6 * A copy of the license can be found in the license.htm file included
7 * in this distribution.
9 * You must not remove this notice, or any other, from this software.
11 * ***************************************************************************/
13 namespace System.Web.Mvc {
14 using System;
15 using System.Diagnostics.CodeAnalysis;
17 [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes",
18 Justification = "No compelling performance reason to seal this type.")]
19 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)]
20 public class ValidateInputAttribute : FilterAttribute, IAuthorizationFilter {
22 public ValidateInputAttribute(bool enableValidation) {
23 EnableValidation = enableValidation;
26 public bool EnableValidation {
27 get;
28 private set;
31 public virtual void OnAuthorization(AuthorizationContext filterContext) {
32 if (filterContext == null) {
33 throw new ArgumentNullException("filterContext");
36 filterContext.Controller.ValidateRequest = EnableValidation;