繁体   English   中英

ASP / C#TextBox验证

[英]ASP/C# TextBox Validation

我需要创建一个Web表单,用户可以在其中添加,更新,删除,从SQL数据库中的表中检索客户数据。

表中的每个字段都应具有文本框,以便用户可以输入字段的详细信息以更新数据库中的表。

即时通讯遇到的麻烦是在表单后面的代码中,我需要使用清晰的方法来清除所有文本框和消息标签。 我还需要为每个文本框设置验证要求。 但我不确定如何正确执行此操作。

文本框是;

客户ID,名字,姓氏,性别,年龄,地址1,地址2,城市,电话,手机,电子邮件,确认电子邮件。

现在我的主要问题是,如何验证文本框? 例如; 必须提供CustID。 &必须是唯一的。 必须是整数,并且必须在1到1000之间。

您应该使用RequiredValidator为例

http://www.w3schools.com/aspnet/control_reqfieldvalidator.asp

这将在将数据提交到服务器之前执行验证;)

验证器还有其他类型,例如RangeValidator(需要检查整数是否在1到1000之间)。

例:

<asp:RangeValidator ControlToValidate="youtField" MinimumValue="1" MaximumValue="1000" Type="Integer" Text="The field must be between 1 and 1000" runat="server" />

例如,您还可以将ValidationGroup =“ save”添加到所有验证器以及用户应单击以保存和更新数据的按钮。

Asp.net具有一些(5种主要类型)服务器验证控件,您可以根据需要使用验证

请参阅此图像以了解验证控件(图像来自

在此处输入图片说明

对此MSDN sit3的更多理解

这是所有验证控件样本的链接: 单击我

要清除所有文本框,您可以尝试这样的操作

foreach (var item in Page.Controls)
    {
        if (item is TextBox)
        {
            ((TextBox)item).Text = "";
        }
        if (item is DropDownList)
        {
            ((DropDownList)item).SelectedIndex= 0;
        }
        //and the other types
    }

对于验证,您必须设置所需的验证字段并将其直接绑定到.aspx页上的字段。

<asp:textbox ID="Name" runat="server" TabIndex="1"/>
<asp:RequiredFieldValidator ID="rfvName" ControlToValidate="Name" runat="server" ErrorMessage="Name is required">
<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode ="BulletList" ShowSummary ="true" HeaderText="Errors:" />

当您尝试保存并且验证器的条件之一返回false时,验证摘要将显示在errormessage属性中写入的所有错误。

这可能是ASP / MVC的示例-因为您忘记了从ASP中指定哪种技术。 表格还是MVC?!? 此波纹适用于mvc,其他属性已由我之前的用户定义。

注意,RemoteAttribute可以验证功能(验证功能)。

 namespace ModelValidation.Models {
 public class Appointment {
  [Required]
  [StringLength(10, MinimumLength = 3)]
  public string ClientName { get; set; }
  [DataType(DataType.Date)]
  [Remote("ValidateDate", "Home")]
  public DateTime Date { get; set; }
  public bool TermsAccepted { get; set; }
 }
}

要将验证应用于描述TextBox的模型属性,那么一个好的做法是使用TextBoxFor <>()。 像那样:

@Html.TextBoxFor((model) => model.ClientName )

您可以通过以下方式清除所有控件的值:将用户重定向到另一个页面,告诉他表单已提交,单击“ New Registration按钮将用户再次重定向到“注册”页面,但是,如果您不希望您可以选择每个控件并将其重置,在Cs.file或使用javascript中,

foreach (Control ctrl in form1.Controls)
        {
            if (ctrl is TextBox)
            {
                TextBox tb = (TextBox)ctrl;
                tb.Text = string.Empty;
            }
            else if (ctrl is DropDownList)
            {
                DropDownList dl = (DropDownList)ctrl;
                dl.SelectedIndex = 0;
            }
            else if (ctrl is CheckBox)
            {
                CheckBox cb = (CheckBox)ctrl;
                cb.Checked = false;
            }
        }

为了您的验证目的,我强烈建议您阅读Asp.net中的validation ,这是一个很好的教程,您可以从这里学习

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM