所以这就是我所拥有的
protected void submitEmail_Click(object sender, EventArgs e)
{
try
{
if (!Page.IsValid)
{
validationMsg.Visible = true;
validationMsg.Text = "Please insert a valid email address.";
return;
}
if (!IsValidEmail())
{
validationMsg.Visible = true;
validationMsg.Text = "Please insert a valid email address.";
return;
}
SaveData();
validationMsg.Visible = true;
validationMsg.Text = "Thank you for joining our beta community! We’ll send word as soon as our beta is out.";
}
catch (Exception ex)
{
}
}
和.aspx
:
<%@ Control Language="C#"
AutoEventWireup="true"
CodeFile="BetaEmailUserForm.ascx.cs"
Inherits="CMSWebParts_BullGuard_User_Forms_BetaEmailUserForm" %>
<div class="subscribe">
<asp:TextBox ID="userEmail" runat="server"
CssClass="subscribe-input"></asp:TextBox>
<asp:LinkButton ID="submitEmail" runat="server"
OnClick="submitEmail_Click"
CssClass="subscribe-submit button"
CausesValidation="true"
ValidationGroup="betaEmailGroup">
<span style="font-size: 20px; color: #ffffff;padding: 26px;display:block;">✓</span>
</asp:LinkButton>
</div>
<p class="thank">
<asp:Literal ID="validationMsg"
runat="server"
Visible="false"></asp:Literal>
<asp:RequiredFieldValidator ID="rfvEmail1new"
ControlToValidate="userEmail"
SetFocusOnError="true"
EnableClientScript="true"
ValidationGroup="betaEmailGroup"
runat="server"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revEmail1new"
ControlToValidate="userEmail"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
SetFocusOnError="true"
EnableClientScript="true"
ValidationGroup="betaEmailGroup"
runat="server"></asp:RegularExpressionValidator>
</p>
我想要的是这个。
案例1:我在输入字段中输入任何内容,第一个验证器执行操作,在.cs文件中我假设第一个条件应该失败,导致添加消息
案例2:我输入的电子邮件地址无效=&gt;与案例1相同的逻辑
案例3:输入一个好的电子邮件地址跳过2个检查
案例4:输入已注册的电子邮件地址==&gt;去第二检查条件。
问题是我没有显示2个验证器的消息。
第一种情况我没有输入任何我希望使用以下案例的数据
if (!Page.IsValid)
没有发生。
第二种情况失败的是电子邮件地址不正确(例如asdasd @dadad)
也应该与页面无效的情况一致
if (!Page.IsValid)
我已尝试调试但不能调试第一和第二个测试用例。 只有输入有效的电子邮件地址,我才能调试。
有任何帮助吗?谢谢。
我认为有一些客户端验证,aspx控制器会在我不知情的情况下为我做的,有些js生成的文件?不知道
答案 0 :(得分:0)
我希望问题出在&#34;!Page.IsValid&#34;。 请查看以下链接
https://msdn.microsoft.com/en-us/library/system.web.ui.page.isvalid(v=vs.110).aspx
有时需要添加&#34;的ErrorMessage =&#34;&#34; &#34;到验证标签。请检查一下。
我希望这会对你有帮助。
还有其他简单方法可以完成这项工作,你可以按照它们进行操作。