1. ホーム
  2. ハイパーリンク

[解決済み】WebForms UnobtrusiveValidationMode には 'jquery' の ScriptResourceMapping が必要です。jqueryという名前のScriptResourceMappingを追加してください(大文字と小文字を区別する)。

2022-03-28 01:18:03

質問

Visual Studio 2012を使用してWebアプリケーションを構築しています。 テキストボックスに単語数を追加しようとしています。 しかし、javascriptのコードとhtmlのコードを追加した後。私は上記のようなエラーが発生します。

以下は私のjavascriptコードです。

コード:

function validateLimit(obj, divID, maxchar) {

objDiv = get_object(divID);

if (this.id) obj = this;

var remaningChar = maxchar - trimEnter(obj.value).length;

if (objDiv.id) {
    objDiv.innerHTML = remaningChar + " characters left";
}
if (remaningChar <= 0) {
    obj.value = obj.value.substring(maxchar, 0);
    if (objDiv.id) {
        objDiv.innerHTML = "0 characters left";
    }
    return false;
}
else
{ return true; }
}

function get_object(id) {
var object = null;
if (document.layers) {
    object = document.layers[id];
} else if (document.all) {
    object = document.all[id];
} else if (document.getElementById) {
    object = document.getElementById(id);
}
return object;
}

function trimEnter(dataStr) {
return dataStr.replace(/(\r\n|\r|\n)/g, "");
}

マスターページ内のサーバーコード

<script type="text/javascript" src="js/JScript.js" ></script>

ASPXコード、(Htmlコード)

<tr>
<th style="width: 595px; height: 135px;">Official Report :</th>
<td colspan="4" style="height: 135px">
  <asp:TextBox ID="tbofficial" runat="server" Height="121px" TextMode="MultiLine" Width="878px" MaxLength="500"   ToolTip="Summary:(500 characters)" onkeyup="return validateLimit(this, 'lblMsg1', 500)" ></asp:TextBox>
  <div id="lblMsg1">500 characters left</div>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ControlToValidate="tbofficial" Display="Dynamic" 
        SetFocusOnError="True">*</asp:RequiredFieldValidator>
  <br />
  <asp:Label ID="lblmsg" runat="server"></asp:Label>
  <br />
  <br />
        <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
  <asp:Button ID="btnClear" runat="server" Text="Clear" OnClick="btnClear_Click" />
        </td>
</tr>

解決方法は?

4.5以前の検証モードを有効にするには、web.configのキーが必要です。

の詳細情報 バリデーション設定:UnobtrusiveValidationMode :

ASP.NETが組み込みのバリデータ・コントロールをグローバルに有効化する方法を指定します。 を使用して、クライアントサイドの検証ロジックに控えめなJavaScriptを使用します。

タイプ タイプ: UnobtrusiveValidationMode

デフォルトの値です。なし

備考: このキー値が なし" [デフォルト]では、ASP.NET アプリケーションは 4.5以前の動作 (JavaScriptをインラインで ページ) のクライアント側検証ロジックに使用されます。このキー値が に変更します。 WebForms" ASP.NETでは HTML5のデータ属性とレイトバインド 追加されたスクリプト参照からのJavaScript クライアントサイドの検証のための のロジックを使用します。

    <appSettings>
      <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
    </appSettings>