ASP / C#TextBox验证

时间:2013-10-21 08:38:49

标签: c# asp.net sql validation

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

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

我遇到问题的是在表单背后的代码中我需要一个明确的方法来清除所有文本框和消息标签。 我还需要为每个文本框设置验证要求。但我不确定如何正确地做到这一点。

文本框是;

CustID,Firstname,Surname,Gender,Age,Address1,Address2,City,Phone,Mobile,Email,Confirm Email。

现在我的主要问题是,如何验证文本框?例如; CustID是必需的。 &安培;必须是独特的。必须是整数,且必须介于1和1之间。 1000。

5 个答案:

答案 0 :(得分:2)

您应该使用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 =&#34; save&#34;例如,所有验证器和用户应单击以保存和更新数据的按钮。

答案 1 :(得分:1)

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

请参阅此图片以了解验证控件(参考图像from

enter image description here

更多了解MSDN sit3

这里是所有验证控件样本的链接:click me

答案 2 :(得分:0)

要清除所有文本框,您可以尝试使用此类

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属性中写入的所有错误。

答案 3 :(得分:0)

这可能是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&lt;&gt;()。像那样:

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

答案 4 :(得分:0)

您可以通过将用户重定向到另一个页面告诉他表单已提交,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,这是一个很好的教程,您可以从here了解