Fix bugs in sizing TableLayoutPanel (Xamarin bug 18638)
[mono.git] / mcs / class / System.Web.Mvc / System.Web.Mvc / ValidateInputAttribute.cs
1 /* ****************************************************************************\r
2  *\r
3  * Copyright (c) Microsoft Corporation. All rights reserved.\r
4  *\r
5  * This software is subject to the Microsoft Public License (Ms-PL). \r
6  * A copy of the license can be found in the license.htm file included \r
7  * in this distribution.\r
8  *\r
9  * You must not remove this notice, or any other, from this software.\r
10  *\r
11  * ***************************************************************************/\r
12 \r
13 namespace System.Web.Mvc {\r
14     using System;\r
15     using System.Diagnostics.CodeAnalysis;\r
16 \r
17     [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes",\r
18         Justification = "No compelling performance reason to seal this type.")]\r
19     [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)]\r
20     public class ValidateInputAttribute : FilterAttribute, IAuthorizationFilter {\r
21 \r
22         public ValidateInputAttribute(bool enableValidation) {\r
23             EnableValidation = enableValidation;\r
24         }\r
25 \r
26         public bool EnableValidation {\r
27             get;\r
28             private set;\r
29         }\r
30 \r
31         public virtual void OnAuthorization(AuthorizationContext filterContext) {\r
32             if (filterContext == null) {\r
33                 throw new ArgumentNullException("filterContext");\r
34             }\r
35 \r
36             filterContext.Controller.ValidateRequest = EnableValidation;\r
37         }\r
38 \r
39     }\r
40 }\r