.aspx ファイルで「必須フィールド バリデータ」の状態を取得しようとしています。
私が状態と言うとき、それが内容に関して有効か無効かを意味するのではなく、有効かどうかを意味します。
ValidatorEnable(control, true);
または
で有効/無効の状態を設定できることを知っています
ValidatorEnable(control, false);
有効か無効かを知る方法はありますか?
前もって感謝します。
.aspx ファイルで「必須フィールド バリデータ」の状態を取得しようとしています。
私が状態と言うとき、それが内容に関して有効か無効かを意味するのではなく、有効かどうかを意味します。
ValidatorEnable(control, true);
または
で有効/無効の状態を設定できることを知っています
ValidatorEnable(control, false);
有効か無効かを知る方法はありますか?
前もって感謝します。
クライアント側でそれを行うことができます。したがって、次のような必須フィールドバリデーターがあると仮定しましょう。
<asp:TextBox ID="txtName" runat="server" ClientIDMode="Static"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqValName" ControlToValidate="txtName" runat="server"
CssClass="validation" ErrorMessage="*Required">
</asp:RequiredFieldValidator>
次に、ASP.NET 4.0 によって次の JavaScript が生成されます。
var reqValName = document.all ? document.all["reqValName"] : document.getElementById("reqValName");
reqValName.controltovalidate = "txtName";
reqValName.errormessage = "*Required";
reqValName.enabled = "False"; // <---- HERE. Set to false on server side.
reqValName.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
reqValName.initialvalue = "";
ご覧のとおりreqValName.enabled = "False";
、バリデーターを無効にすると生成されますが、有効にすると、その行は表示されません。
したがって、その変数の値をチェックして、有効になっているかどうかを判断できます。値は文字列値であり、ページの下部にチェック JavaScript を配置する必要がある場合があることに注意してください。実際、とにかくすべての JavaScript をページの下部に配置することをお勧めします ( body タグを閉じる前に)。
参考までに、ASP.NET 4.5 を使用している場合、その属性はJavaScript 変数属性ではなくspan
要素の属性に入れられるため、はるかに簡単に確認できます。data-val-enabled
ASP.NET 4.5 で生成された HTML を参照してください。
<span class="validation" id="reqValName" style="visibility: hidden;" data-val-initialvalue=""
data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid" data-val="true" data-val-enabled="False"
data-val-errormessage="*Required" data-val-controltovalidate="txtName">