[英]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”添加到所有验证器以及用户应单击以保存和更新数据的按钮。
要清除所有文本框,您可以尝试这样的操作
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.