我有一个修改客户信息的页面,我允许页面上的每个客户信息有两个文本框,所以如果客户有5条信息,那么我的页面将有10个文本框,一个用于显示旧值,另一个用于输入新值。所有具有原始信息的文本框都是可见的,然后根据哪个列用户选择修改该列textbox是可见的。
所有文本框都需要字段验证器,这些文本框将用于输入新值。我们允许单场修改。我所面临的问题是,假设选择修改用户指定字段的用户和指定字段没有任何值,那么其他字段(假设组织名称没有值),只有选定的字段对应的文本框是可见的,当我试图提交信息时,它给我的错误是组织名称是必需的,即使新的组织名称文本框是不可见的,但是对于为什么会出现这种情况,有什么想法吗?
编辑:
<td align="right"><span>Designation:</span></td>
<td>
<asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtDesignation"
class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
</td>
<td>
<asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtNewDesignation"
class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
<asp:RequiredFieldValidator ValidationGroup="Group6"
ControlToValidate="ModifyCustomerByCategorytxtNewDesignation" runat="server"
EnableClientScript="true" Display="Dynamic"
ErrorMessage="The Designation field is required." Text="*">
</asp:RequiredFieldValidator>
</td> 发布于 2012-06-04 10:06:02
如果您只允许一个字段修改,那么为每个字段添加一个单独的按钮,并使其与该字段验证器共享一个唯一的ValidatinGroup (您的问题是它们都共享一个ValidatinGroup,所以它们都被验证了,可见与否)。
发布于 2014-05-08 09:08:47
<asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtDesignation"
class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
<asp:CustomValidator ID="cvmodify" runat="server"
ClientValidationFunction="modify" CssClass="validators" ErrorMessage="*"
Display="Dynamic" SetFocusOnError="True" ></asp:CustomValidator>
<td>
<asp:TextBox runat="server" ID="ModifyCustomerByCategorytxtNewDesignation"
class="ModifyCustomerByCategoryTextbox"></asp:TextBox>
<asp:CustomValidator ID="cvModify" runat="server"
ClientValidationFunction="modify" CssClass="validators" ErrorMessage="*"
Display="Dynamic" SetFocusOnError="True" ></asp:CustomValidator>
<script language="javascript" type="text/javascript">
function modify(oSrouce, args) {
var myTextBox = document.getElementById('<%= ModifyCustomerByCategorytxtDesignation.ClientID %>');
var myTextBox = document.getElementById('<%= ModifyCustomerByCategorytxtDesignation.ClientID %>');
if (myTextBox.value) {
if (myTextBox.value == "")
args.IsValid = false;
else
args.IsValid = true;
}
}
</script>https://stackoverflow.com/questions/10876823
复制相似问题