我看了这个关于引导程序验证的教程。在本教程中,电子邮件文本控件通过以下链接在一起:
data-validation-matches-match="email"
对于该组复选框,还有一个min
和max
复选值。我的问题是,假设我有一组文本框,在这个例子中,我将主div命名为AddressCityCounty
:
<div id="AddressCityCounty" style="width:800px;">
<div class="control-group" style="float:left; margin-right:10px;">
<label class="control-label">Address:
<asp:RequiredFieldValidator ID="reqAddress" runat="server" ControlToValidate="txtAddress" CssClass="required" EnableClientScript="true" Display="dynamic" SetFocusOnError="true" ErrorMessage="*"/>
</label>
<div class="controls">
<asp:TextBox ID="txtAddress" runat="server" required/>
<p class="help-block"></p>
</div>
</div>
<div class="control-group" style="float:left; margin-right:10px;">
<label class="control-label">City:
<asp:RequiredFieldValidator ID="reqCity" runat="server" ControlToValidate="txtCity" CssClass="required" EnableClientScript="true" Display="dynamic" SetFocusOnError="true" ErrorMessage="*"/>
</label>
<div class="controls">
<asp:TextBox ID="txtCity" runat="server" required/>
<p class="help-block"></p>
</div>
</div>
<div class="control-group" style="float:left;">
<label class="control-label">County:
<asp:RequiredFieldValidator ID="reqCounty" runat="server" ControlToValidate="txtCounty" CssClass="required" EnableClientScript="true" Display="dynamic" SetFocusOnError="true" ErrorMessage="*"/>
</label>
<div class="controls">
<asp:TextBox ID="txtCounty" runat="server" required/>
<p class="help-block"></p>
</div>
</div>
如何编写脚本,使控件组变为黄色(就像教程中的电子邮件和质量控制组一样),直到该组中的所有字段都已填写完毕?
首先,我建议您不要使用asp.net控件来执行此操作。我过去曾在twitter引导程序中使用过这些,并取得了不同程度的成功。我会使用HTML文本框。如果你使用的是.NET框架,并且你需要服务器端验证,我可能还建议你使用带有模型验证的.NET MVC——更干净。
首先,您需要将jsBootstrapValidation添加到您的项目中,并引用twitter引导程序。之后,你想继续并遵循网站上的建议。如果你注意到你所需要的电子邮件验证就是将你的文本框设置为
<input type="email" />
jsBootstrapValidation将完成剩下的工作。但同样,使用asp.net控件无法实现这一点。
你应该能够将你的asp.net控件设置为
<asp:Textbox id"emailTextbox" class="email" runat="server" />
之后,您需要提供自定义的jquery来处理某个类的任何文本框上的不同事件,并以这种方式进行处理。大而笨重的绝对地值得吗?这取决于这是否是一个面向公众的应用程序,他们对想要这样的东西有多挑剔。