HTML必填字段无法正常工作

时间:2017-03-04 11:22:24

标签: c# html asp.net html5

在使用htm required =“required”验证时,它根本不能正常工作。 我在单页上有2个按钮,我想在1个按钮上点击它验证textbox1,点击第2个按钮它将验证textbox2。

请查看附图以获取更多详细信息 enter image description here

2 个答案:

答案 0 :(得分:0)

您正在寻找ValidationGroup。通过为Validators和Button提供相同的id,相应的按钮将仅验证这些字段。

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox1" ValidationGroup="group1"></asp:RequiredFieldValidator>

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox2" ValidationGroup="group1"></asp:RequiredFieldValidator>

<asp:Button ID="Button1" runat="server" Text="Button Group 1" ValidationGroup="group1" />


<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="TextBox3" ValidationGroup="group2"></asp:RequiredFieldValidator>

<asp:Button ID="Button2" runat="server" Text="Button Group 2" ValidationGroup="group2" />

答案 1 :(得分:0)

我认为HTML本身并不这样做(分组验证) 如果服务器端不是一个选项,那么你需要使用一些JavaScript 我在这个相关问题的答案中找到了一些灵​​感(触发HTML5表格验证):https://stackoverflow.com/a/39689115/370786

如果您将要在表单中一起验证的每组输入分组(因此您将有多个表单),则可以通过Javascript触发验证。然后,您可以停止发布表单。这可以通过Javascript完成 - 也许它可以用HTML完成,但我不确定。

然后,一旦所有内容都经过验证,您将需要使用一些Javascript将数据发布到服务器。它可能就像在表单元素上触发submit()方法一样简单。