HTML 5 个必需属性 - 将验证限制在 div?

HTML 5 required attribute - constrain validation within a div?

给定一个包含 2 个 div 的表单,每个 div 包含一个具有 "required" 属性的 asp 文本框,是否可以约束 html5仅在包含文本框的 div 中考虑所需的属性?因此,例如,当您单击第二个 div 中的按钮时,我能否在第一个 div 中的文本框上设置 required 属性?我应该补充一点,我正在尝试在内容页面中执行此操作。

<form>
    <div>
        <asp:textbox runat="server" id="TextBox1" required="required"></asp:textbox>
        <asp:button runat="server" id="Button1" text="Save"  />
        <asp:button runat="server" id="Button2" text="Cancel"  onclientclick="return false" />
    </div>
    <div>
        <asp:textbox runat="server" id="TextBox2" required="required"></asp:textbox>
        <asp:button runat="server" id="Button3" text="Save"  />
        <asp:button runat="server" id="Button4" text="Cancel"  onclientclick="return false" />
    </div>
</form>

标准 html5 验证没有 "if this input meets requirements, make this input non-required" 的内置选项。为了在单个表单中完成此操作,您将需要编写非常少量的 JavaScript 以在当前文本输入满足您的要求时从其他文本输入中删除 required 属性,否则表单不会通过客户端验证,其他文本输入将匹配 :invalid 伪 class.

我建议切换到 jquery 插件,例如 http://www.formvalidator.net,它不需要您编写任何代码。您可以使用上述插件中的 html 属性(例如 data-validation-depends-on)来完成此操作。