我有标签,每个标签我都有服务器端验证。如果错误出现在"标签2"显示错误,但"标签1"因此显示用户没有看到错误消息。请在此处查看截屏视频https://www.screencast.com/t/NRU5L44F,并在此处查看问题https://www.corobori.com/TestPage2018.aspx
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home"><h4 class="azul">Tab 1 </h4></a></li>
<li><a data-toggle="tab" href="#menu1"><h4 class="azul">Tab 2</h4></a></li>
<li><a data-toggle="tab" href="#menu2"><h4 class="azul">Tab 3</h4></a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<div class="contact-form">
Tab 1
</div>
</div>
<div id="menu1" class="tab-pane fade">
<p class="padding-20">
Tab 2
</p>
<div class="contact-form">
<asp:TextBox ID="txtNoRegCorreo" cssclass="contact-input" runat="server" placeholder="Some data" ></asp:TextBox>
<asp:CustomValidator id="valCorreo" ForeColor="Red" runat="server" ErrorMessage="This is an error message " Display="Dynamic"
ValidationGroup="grpNoREG" ControlToValidate="txtNoRegCorreo" ValidateEmptyText="True" ></asp:CustomValidator>
</div>
<div class="col-md-12">
<asp:Button ValidationGroup="grpNoREG" ID="btnNoREG" runat="server" cssclass="contact-button" Text="Click to test" />
</div>
</div>
<div id="menu2" class="tab-pane fade">
<p class="padding-20">
Tab 3
</p>
</div>
</div>
验证只返回false
Private Sub valCorreo_ServerValidate(source As Object, args As ServerValidateEventArgs) Handles valCorreo.ServerValidate
args.IsValid = False
End Sub
答案 0 :(得分:0)
asp.net forum上的答案给了我一个线索,这是一个有效的解决方案
<ul class="nav nav-tabs">
<li class="<%=homeTabClass1()%>" ><a data-toggle="tab" href="#home"><h4 class="azul">Tab 1 </h4></a></li>
<li class="<%=homeTabClass2()%>"><a data-toggle="tab" href="#menu1"><h4 class="azul">Tab 2</h4></a></li>
<li class="<%=homeTabClass3()%>"><a data-toggle="tab" href="#menu2"><h4 class="azul">Tab 3</h4></a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in <%=homeTabClass11()%>">
<div class="contact-form">
Tab 1
</div>
</div>
<div id="menu1" class="tab-pane fade <%=homeTabClass21()%>">
<p class="padding-20">
Tab 2
</p>
<div class="contact-form">
<asp:TextBox ID="txtNoRegCorreo" cssclass="contact-input" runat="server" placeholder="Some data" ></asp:TextBox>
<asp:CustomValidator id="valCorreo" ForeColor="Red" runat="server" ErrorMessage="This is an error message " Display="Dynamic"
ValidationGroup="grpNoREG" ControlToValidate="txtNoRegCorreo" ValidateEmptyText="True" ></asp:CustomValidator>
</div>
<div class="col-md-12">
<asp:Button ValidationGroup="grpNoREG" ID="btnNoREG" runat="server" cssclass="contact-button" Text="Click to test" />
</div>
</div>
<div id="menu2" class="tab-pane fade <%=homeTabClass31()%>">
<p class="padding-20">
Tab 3
</p>
</div>
</div>
背后的代码是:
Public Class TestPage2018
Inherits System.Web.UI.Page
Dim sClass1 As String
Dim sClass2 As String
Dim sClass3 As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
sClass1 = "active"
sClass2 = ""
sClass3 = ""
End Sub
Private Sub btnNoREG_Click(sender As Object, e As EventArgs) Handles btnNoREG.Click
If Me.IsValid = True Then
End If
End Sub
Private Sub valCorreo_ServerValidate(source As Object, args As ServerValidateEventArgs) Handles valCorreo.ServerValidate
sClass1 = ""
sClass2 = "active"
sClass3 = ""
args.IsValid = False
End Sub
Public Function homeTabClass1()
Return sClass1
End Function
Public Function homeTabClass2()
Return sClass2
End Function
Public Function homeTabClass3()
Return sClass3
End Function
Public Function homeTabClass11()
Return sClass1 & " in "
End Function
Public Function homeTabClass21()
Return sClass2 & " in "
End Function
Public Function homeTabClass31()
Return sClass3 & " in "
End Function
结束班