ASP RequiredField验证程序禁用文本框验证失败

时间:2012-10-16 08:21:48

标签: javascript asp.net validation requiredfieldvalidator

我有一个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");
}

有什么建议吗?

非常感谢

1 个答案:

答案 0 :(得分:1)

我建议使用Javascript根据需要启用/禁用RFV。

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

第二个参数将验证器设置为启用(true)或禁用(false)。