0

このmsdnによると、ブラウザーのページ ソースを表示すると、検証ライブラリを使用するためにこのようなものが見つかるはずです。見つかりませんでした。

<script language="javascript" 
        src="/aspnet_client/system_web/1_0_3617_0/WebUIValidation.js">
</script>

混乱しています。検証ライブラリをクライアント ブラウザにロードする方法を説明していただけますか。

4

1 に答える 1

1

このWebUIValidation.jsファイルには、クライアント側検証用のクライアント側 JavaScript 関数が含まれています。次の場合に、ページに自動的に挿入されます。

  • ページには、1 つ以上の検証 Web コントロールが含まれています。
  • ページは「アップレベル」ブラウザによってアクセスされています。

このSystem.Web.UI.WebControls.BaseValidatorクラスは、すべての検証 Web コントロールの派生元のクラスです。RegisterValidationCommonScript()メソッドに責任があります。

クレジット: http://scottonwriting.net/sowblog/archive/2004/11/03/163009.aspx

ILSpy (.NET 4.0) 経由で反映:

// System.Web.UI.WebControls.BaseValidator
protected void RegisterValidatorCommonScript()
{
    if (this.Page.IsPartialRenderingSupported)
    {
        ValidatorCompatibilityHelper.RegisterClientScriptResource(this, typeof(BaseValidator), "WebUIValidation.js");
        ValidatorCompatibilityHelper.RegisterStartupScript(this, typeof(BaseValidator), "ValidatorIncludeScript", "\r\nvar Page_ValidationActive = false;\r\nif (typeof(ValidatorOnLoad) == \"function\") {\r\n    ValidatorOnLoad();\r\n}\r\n\r\nfunction ValidatorOnSubmit() {\r\n    if (Page_ValidationActive) {\r\n        return ValidatorCommonOnSubmit();\r\n    }\r\n    else {\r\n        return true;\r\n    }\r\n}\r\n        ", true);
        ValidatorCompatibilityHelper.RegisterOnSubmitStatement(this, typeof(BaseValidator), "ValidatorOnSubmit", "if (typeof(ValidatorOnSubmit) == \"function\" && ValidatorOnSubmit() == false) return false;");
        return;
    }
    if (this.Page.ClientScript.IsClientScriptBlockRegistered(typeof(BaseValidator), "ValidatorIncludeScript"))
    {
        return;
    }
    this.Page.ClientScript.RegisterClientScriptResource(typeof(BaseValidator), "WebUIValidation.js");
    this.Page.ClientScript.RegisterStartupScript(typeof(BaseValidator), "ValidatorIncludeScript", "\r\nvar Page_ValidationActive = false;\r\nif (typeof(ValidatorOnLoad) == \"function\") {\r\n    ValidatorOnLoad();\r\n}\r\n\r\nfunction ValidatorOnSubmit() {\r\n    if (Page_ValidationActive) {\r\n        return ValidatorCommonOnSubmit();\r\n    }\r\n    else {\r\n        return true;\r\n    }\r\n}\r\n        ", true);
    this.Page.ClientScript.RegisterOnSubmitStatement(typeof(BaseValidator), "ValidatorOnSubmit", "if (typeof(ValidatorOnSubmit) == \"function\" && ValidatorOnSubmit() == false) return false;");
}
于 2013-01-16T16:34:54.493 に答える