如何使用引导验证创建自定义"Group Validation"?



我看了这个关于引导程序验证的教程。在本教程中,电子邮件文本控件通过以下链接在一起:

data-validation-matches-match="email"

对于该组复选框,还有一个minmax复选值。我的问题是,假设我有一组文本框,在这个例子中,我将主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来处理某个类的任何文本框上的不同事件,并以这种方式进行处理。大而笨重的绝对地值得吗?这取决于这是否是一个面向公众的应用程序,他们对想要这样的东西有多挑剔。

最新更新