【发布时间】:2023-03-26 01:10:01
【问题描述】:
下面的代码一直有效,但现在不知何故,即使我提供了用户名和密码,我也无法再提交表单了。我在后端或 Chrome 开发者控制台中没有收到任何错误。我尝试启用/禁用所有验证器,发现如果我将Enabled="false" 添加到验证器UserNameRequired,表单会提交。但显然我想启用这个 requiredfieldvalidator 。
为什么会这样?
你也可以在这里看到它(填写一个随机的电子邮件地址/密码):http://www.zorgbeurs.nl/login
<table width="300">
<tr>
<td>
<asp:Label ID="UserNameLabel" Text="Email" runat="server" AssociatedControlID="UserName"/>
</td>
<td>
<asp:TextBox ID="UserName" Text="" runat="server" Width="160px"/><br />
<asp:RequiredFieldValidator Enabled="false" ValidationGroup="loginuser" Display="Dynamic" SetFocusOnError="True" ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="*"/>
<asp:RegularExpressionValidator ControlToValidate="UserName" ValidationGroup="loginuser" ErrorMessage="Ongeldig emailadres" ValidationExpression="<%$resources:glossary,regexValidEmail %>" ID="revUsername" runat="server" Display="Dynamic"/>
</td>
</tr>
<tr>
<td valign="top">
<asp:Label ID="PasswordLabel" Text="<%$ Resources:Glossary,Password%>" runat="server" AssociatedControlID="Password"/>
</td>
<td valign="top">
<asp:TextBox ID="Password" runat="server" TextMode="Password" Width="160px"/><br />
<asp:RequiredFieldValidator Enabled="false" SetFocusOnError="True" Display="Dynamic" ValidationGroup="loginuser" ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="*" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<asp:ImageButton CausesValidation="true" ValidationGroup="loginuser" ID="LoginMember" meta:resourcekey="ibtnLogin" CommandName="Login" runat="server"/>
<asp:CheckBox TextAlign="Right" CssClass="cblist" Font-Bold="false" ID="RememberMe" runat="server" Text="<%$ Resources:Glossary,loginrememberme%>" /><br />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="FailureText" runat="server" ForeColor="Red" Font-Bold="true" EnableViewState="False"/>
</td>
</tr>
</table>
更新
我也尝试直接在代码[-+.'\w]+@[-.\w]+\.[-.\w]+中添加revUsername表达式的ValidationExpression,但这并没有帮助。
【问题讨论】:
-
您正在从资源文件中获取“revUsername”验证器的表达式。它在资源文件中是否发生了变化?您是否尝试过将表达式直接包含在代码中?
-
@HernanGuzman:谢谢,我试过了(在帖子中更新)但它没有帮助......还有其他建议吗?
-
用户名是电子邮件吗? @Flo
-
@HernanGuzman:是的
标签: asp.net validation