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
一個列舉,代表被驗證的請求資料來源。 下列為列舉可能的數值:
QueryStringFormCookiesFilesRawUrlPathPathInfo-
Headers。
- collectionKey
- String
請求集合中驗證項目的金鑰。 這是選擇性參數。 若驗證資料來自集合,則使用此參數。 若要驗證的資料非集合,則 collectionKey 可為 null。
- validationFailureIndex
- Int32
當此方法回傳時,表示請求集合中問題或無效文本的零基起點。 這個參數會未初始化傳遞。
傳回
true若待驗證字串有效;否則,。 false
備註
你實作這個方法來執行請求資料的自訂驗證。
IsValidRequestString(HttpContext, String, RequestValidationSource, String, Int32) 方法的基本行為類似於 ASP.NET 內部實作的行為,用以檢查跨站腳本驗證中的危險字串。 欲了解更多資訊,請參閱
若自訂驗證邏輯偵測到錯誤,此方法應回傳 false 並提供一個 validationFailureIndex 值,以指示導致錯誤的文字起始點。 的 validationFailureIndex 值必須是0或正整數。
請求驗證檢查的邏輯如下:
該 HttpRequest 類別會對輸入資料執行空字元移除檢查。
該 HttpRequest 類別會呼叫 IsValidRequestString 方法(基礎方法的預設實作)或呼叫該方法的衍生版本。
若 IsValidRequestString 方法回傳
false表示驗證失敗,ASP.NET 會構造錯誤字串(如有需要),並拋出 HttpRequestValidationException 例外。