gpt4 book ai didi

c# - 如何验证表单,以便如果缺少字段或未正确填写表单将返回 false

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:54 24 4
gpt4 key购买 nike

我的 ASP.net 页面中有以下表单:

<asp:UpdatePanel runat="server" ClientIDMode="Static" ID="upReg" UpdateMode="Conditional">
<ContentTemplate>
<div class="dvHolder hidOverflow clearfix">
<input id="txtFirst" type="text" name="login" value="" placeholder="First Name" runat="server" />
<asp:Label Text="" runat="server" ID="lblRFName" CssClass="lblStyle" />
</div>
<div class="dvHolder hidOverflow clearfix">
<input id="txtLast" type="text" name="login" value="" placeholder="Last Name" runat="server" />
<asp:Label Text="" runat="server" ID="lblRLName" CssClass="lblStyle" />
</div>
<div class="dvHolder hidOverflow clearfix">
<input id="txtEmail" type="text" name="login" value="" placeholder="Email Address" runat="server" />
<asp:Label Text="" runat="server" ID="lblREmail" CssClass="lblStyle" />
</div>
<div class="dvHolder hidOverflow clearfix">
<input id="txtUser" type="text" name="login" value="" placeholder="Username" runat="server" />
<asp:Label Text="" runat="server" ID="lblRUser" CssClass="lblStyle" />
</div>
<div class="dvHolder hidOverflow clearfix">
<input id="txtPass" type="password" name="login" value="" placeholder="Password" runat="server" />
<asp:Label Text="" runat="server" ID="lblRPass" CssClass="lblStyle" />
</div>
<div class="dvHolder hidOverflow clearfix">
<input id="txtPassC" type="password" name="login" value="" placeholder="Confirm Password" runat="server" />
<asp:Label Text="" runat="server" ID="lblRPassC" CssClass="lblStyle" />
</div>
<div class="dvHolder hidOverflow clearfix setTextRight">
<asp:Button ID="btnRegister" ClientIDMode="Static" runat="server" Text="Register" OnClick="btnRegister_Click" />
<asp:Label runat="server" Text="" ID="lblSuccess" ClientIDMode="Static" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>

代码隐藏:

public void btnRegister_Click(object sender, EventArgs e)
{
if (txtFirst.Value == "")
{
lblRFName.Text = "Please enter your first name";
blnFrmComplete = false;
}
else
{
lblRFName.Text = "";
blnFrmComplete = true;
}
if (txtLast.Value == "")
{
lblRLName.Text = "Please enter your last name";
blnFrmComplete = false;
}
else
{
lblRLName.Text = "";
blnFrmComplete = true;
}
if (txtEmail.Value == "")
{
lblREmail.Text = "Please enter your email address";
blnFrmComplete = false;
}
else
{
if (!(IsValidEmail(txtEmail.Value)))
{
lblREmail.Text = "Please enter a valid email address";
blnFrmComplete = false;
}
else
{
if (UserExistsWithEmail()) //function to check if email account already exists
{
lblREmail.Text = "The email already has an account";
blnFrmComplete = false;
}
else
{
lblREmail.Text = "";
blnFrmComplete = true;
}
}
}
if (txtUser.Value == "")
{
lblRUser.Text = "Please enter a desired username";
blnFrmComplete = false;
}
else
{
if (UserExistsWithUsername()) //function to check if username already exists
{

}
else
{
lblRUser.Text = "";
blnFrmComplete = true;
}
}
if (txtPass.Value == "")
{
lblRPass.Text = "Please enter a password";
blnFrmComplete = false;
}
else
{
if (txtPassC.Value != "" && txtPass.Value == txtPassC.Value)
{
lblRPass.Text = "";
blnFrmComplete = true;
}
else
{
lblRPass.Text = "Password do not match";
blnFrmComplete = false;
}
}
if (txtPassC.Value == "")
{
if (txtPass.Value != "")
{
lblRPassC.Text = "Please confirm your password";
blnFrmComplete = false;
}
else
{
lblRPassC.Text = "Please enter your confirmed password";
blnFrmComplete = false;
}
}
else
{
if (txtPass.Value != "" || txtPass.Value == txtPassC.Value)
{
lblRPassC.Text = "";
blnFrmComplete = true;
}
else
{
lblRPassC.Text = "Confirm password do not match";
blnFrmComplete = false;
}
}

if (blnFrmComplete == true)
{
CreateNewUser();
}
upReg.Update();
}

我遇到的问题是因为它是按顺序进行的,如果我缺少电子邮件地址但密码正确,它将返回 true。

我如何修改代码,以便如果任何字段丢失或未正确填写,blnFrmComplete 将为 false,其余代码将不会被检查。

最佳答案

与其将你的 blnFrmComplete 设置为 true,不如将其保留为 true,并让他们仅在以下情况下将其更改为 false有些东西是无效的。什么都不应该将其设置回 true

因此,您的 bool 值一开始就设置为 true,只有在某些内容无效时才将其切换为 false。如果没有任何内容无效,那么您的 bool 值仍然为真。

关于c# - 如何验证表单,以便如果缺少字段或未正确填写表单将返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30125556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com