[英]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.