簡體   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