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 在内部实现的行为,以检查跨站点脚本验证中的危险字符串。 有关详细信息,请参阅 如何:防止 ASP.NET 中的跨站点脚本

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

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

适用于