RequestValidator.IsValidRequestString 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
驗證包含 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 或正整數。
要求驗證檢查中的邏輯會繼續進行,如下所示:
類別 HttpRequest 會對傳入的資料執行 Null 字元移除檢查。
類別 HttpRequest 會呼叫 IsValidRequestString 方法 (基底方法的預設實作) ,或呼叫方法的衍生版本。
如果 IsValidRequestString 方法傳
false
回以指出驗證失敗,ASP.NET 視需要) 並擲回 HttpRequestValidationException 例外狀況, (建構錯誤字串。