RequestValidator.IsValidRequestString 方法

定义

验证包含 HTTP 请求数据的字符串。

protected public:
 virtual bool IsValidRequestString(System::Web::HttpContext ^ context, System::String ^ value, System::Web::Util::RequestValidationSource requestValidationSource, System::String ^ collectionKey, [Runtime::InteropServices::Out] int % validationFailureIndex);
protected internal virtual bool IsValidRequestString(System.Web.HttpContext context, string value, System.Web.Util.RequestValidationSource requestValidationSource, string collectionKey, out int validationFailureIndex);
abstract member IsValidRequestString : System.Web.HttpContext * string * System.Web.Util.RequestValidationSource * string * int -> bool
override this.IsValidRequestString : System.Web.HttpContext * string * System.Web.Util.RequestValidationSource * string * int -> bool
Protected Friend Overridable Function IsValidRequestString (context As HttpContext, value As String, requestValidationSource As RequestValidationSource, collectionKey As String, ByRef validationFailureIndex As Integer) As Boolean

参数

context
HttpContext

当前请求的上下文。

value
String

要验证的 HTTP 请求数据。

requestValidationSource
RequestValidationSource

一个枚举,表示正在验证的请求数据的源。 以下是枚举的可能值:

  • QueryString
  • Form
  • Cookies
  • Files
  • RawUrl
  • Path
  • PathInfo
  • Headers
collectionKey
String

要验证的项的请求集合中的密钥。 此参数是可选的。 如果要验证的数据是从集合中获取的,则使用此参数。 如果要验证的数据不是来自集合, collectionKey 可以是 null

validationFailureIndex
Int32

此方法返回时,指示请求集合中有问题的或无效文本的从零开始的起点。 此参数未初始化传递。

返回

true 如果要验证的字符串有效,则为 ;否则,为 false.

注解

实现此方法以对请求数据执行自定义验证。 IsValidRequestString(HttpContext, String, RequestValidationSource, String, Int32) 方法的基本行为类似于 ASP.NET 在内部实现的行为,以检查跨站点脚本验证中的危险字符串。 有关详细信息,请参阅 How To: Prevent Cross-Site Scripting in ASP.NET

如果自定义验证逻辑检测到错误,此方法应返回 false 并提供一个值 validationFailureIndex 来指示导致错误的文本的起点。 中的 validationFailureIndex 值必须为 0 或正整数。

请求验证检查中的逻辑按如下所示进行:

适用于