0

asp.net 必須フィールド バリデーターに問題があります。私の状況では、DropDownList に依存するテキスト ボックスがあります。値が選択されている場合は TextBox がアクティブになり、それ以外の場合は無効になり、値 0 内に配置されます。

バリデーターが行うことは、テキストボックスが空であるかどうかを確認することです。

  • テキストボックスが無効になっている場合、値は 0 => 検証パス
  • テキストボックスが有効になっている場合、値はsuser =>ユーザー入力に応じた検証に依存します

私が見つけたのは、テキストボックスが無効になっていて内部に値がある場合、バリデーターはポストバックをブロックし、テキストボックスに 0 の値があってもメッセージを表示することです! (NAとかでもやってみた)

これが私のコードです:

<asp:TextBox ID="txt_CIGUnico" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="txt_CIGUnico_Validator" ControlToValidate="txt_CIGUnico" Display="Dynamic" InitialValue="" ErrorMessage="Inserisci un valore per il CIG"/>

そして、ドロップダウンのjQueryは次のようにします:

if ($("[name*='tipoCIG']").attr('value') == "Singolo") {
    $("[name*='txt_CIGUnico']").removeAttr("disabled");
}
else {
    $("[name*='txt_CIGUnico']").attr("disabled", "disabled");
    $("[name*='txt_CIGUnico']").val("0");
}

なにか提案を?

どうもありがとうございました

4

1 に答える 1

1

必要に応じて Javascript を使用して RFV を有効/無効にすることをお勧めします。

ValidatorEnable(document.getElementById('<%=txt_CIGUnico_Validator.ClientID%>'), false);

2 番目の引数は、バリデーターを有効 (true) または無効 (false) に設定します。

于 2012-10-16T08:44:04.667 に答える