gpt4 book ai didi

javascript - 如何在多个 ASP.NET 验证控件上显示/隐藏错误消息?

转载 作者:行者123 更新时间:2023-11-28 10:06:57 26 4
gpt4 key购买 nike

当有 ASP.NET 验证控件时,显示和隐藏错误消息的触发仅涉及特定的验证控件。这意味着,如果该控件失败,则仅显示该控件的错误消息。

但是我有两个下拉列表,它们应该遵循彼此的错误消息。仅当两者都具有值或根本没有值时它们才有效。

这是我的代码:

<script type="text/javascript" language="javascript">    
function ValidateDDL(source, args) {
var ddl_1 = $get('<%= DropDownList1.ClientID %>');
var ddl_2 = $get('<%= DropDownList2.ClientID %>');
var value_1 = ddl_1.options[ddlMailValue.selectedIndex].value;
var value_2 = ddl_1.options[ddlMailValue.selectedIndex].value;

if ((value_1== "" && value_2 != "") || (value_1 != "" && value_2 == "")) {
args.IsValid = false;
}
else {
args.IsValid = true;
}
}
</script>

<asp:DropDownList ID="DropDownList1" runat="server" CausesValidation="true"></asp:DropDownList>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="DropDownList1" ValidateEmptyText="true" ClientValidationFunction="ValidateDDL" ></asp:CustomValidator>

<asp:DropDownList ID="DropDownList2" runat="server" CausesValidation="true"></asp:DropDownList>
<asp:CustomValidator ID="CustomValidator2" runat="server" ControlToValidate="DropDownList2" ValidateEmptyText="true" ClientValidationFunction="ValidateDDL" ></asp:CustomValidator>
但这意味着,当我更改第一个下拉列表(从有值变为没有值)时,它会验证“false”,因为第二个下拉列表还没有值。但是,当我将第二个下拉列表更改为也包含一个值时,第一条错误消息仍然可见,因为该控件未经过验证。当然,这只是视觉问题,因为当我尝试保存时控件将验证“true”。

但是...有没有办法获取第一个验证控件并将 id 设置为与第二个验证控件相同的状态(反之亦然)?

最佳答案

您是否考虑过仅在保存时触发验证器?您不必在输入值后立即触发它们,而是可以推迟到实际保存为止。只需将 ValidationGroup 分配给您的验证器和保存按钮,并且仅在保存时验证它。

关于javascript - 如何在多个 ASP.NET 验证控件上显示/隐藏错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com