首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

EasyTools AlertTextBox 驗證控制項完整使用指南

     編輯:關於ASP.NET

EasyTools AlertTextBox 結合驗證與彈出提示:提交時對同一 ValidationGroup 的輸入框驗證,失敗時自動彈出 alert() 顯示錯誤訊息,需搭配 AlertButton/AlertImageButton/AlertLinkButton 使用。

控制項外觀效果

AlertTextBox 驗證失敗彈出提示

屬性視窗設定

核心屬性

屬性型別說明
ValidationGroupstring驗證群組名稱,需與關聯按鈕一致
AlertMessagestring驗證失敗時彈出的訊息內容
Requiredbool是否必填
RegExPatternstring正則驗證模式
RegExErrorMessagestring正則不符合時的提示訊息
MinLength / MaxLengthint長度限制
DataTypeenum資料型別:String, Integer, Double, Date, Email, Url 等

基本使用範例

<%@ Register Assembly="EasyTools" Namespace="EasyTools.Web.Controls" TagPrefix="et" %>

<form id="form1" runat="server">
    <div>
        <et:AlertTextBox ID="txtUserName" runat="server" 
            ValidationGroup="RegisterGroup"
            AlertMessage="請輸入使用者名稱"
            Required="true"
            MinLength="3"
            MaxLength="20"
            RegExPattern="^[a-zA-Z0-9_]+$"
            RegExErrorMessage="僅允許英數字與底線" />
        <br />
        
        <et:AlertTextBox ID="txtEmail" runat="server"
            ValidationGroup="RegisterGroup"
            AlertMessage="請輸入有效 Email"
            Required="true"
            DataType="Email" />
        <br />
        
        <et:AlertTextBox ID="txtAge" runat="server"
            ValidationGroup="RegisterGroup"
            AlertMessage="年齡必須為 1-120 間的數字"
            Required="true"
            DataType="Integer" />
        <br />
        
        <et:AlertButton ID="btnSubmit" runat="server" 
            Text="註冊" 
            ValidationGroup="RegisterGroup"
            OnClick="btnSubmit_Click" />
    </div>
</form>

後端按鈕點擊事件

protected void btnSubmit_Click(object sender, EventArgs e) {
    // 此時前端已通過驗證,直接處理業務邏輯
    string user = txtUserName.Text;
    string email = txtEmail.Text;
    int age = int.Parse(txtAge.Text);
    
    // 儲存資料庫...
    lblResult.Text = $"註冊成功:{user}, {email}, {age}";
}

進階:自訂驗證邏輯

public class CustomAlertTextBox : AlertTextBox {
    protected override bool ValidateValue(string value) {
        // 呼叫基底驗證
        if (!base.ValidateValue(value)) return false;
        
        // 自訂:使用者名稱不可為保留字
        var reserved = new[] { "admin", "root", "system", "test" };
        if (reserved.Contains(value.ToLower())) {
            AlertMessage = "此使用者名稱不可使用";
            return false;
        }
        return true;
    }
}

客戶端行為說明

  1. 使用者點擊 AlertButton
  2. 控制項生成的 JavaScript 遍歷同 ValidationGroup 的所有 AlertTextBox
  3. 逐一執行驗證(必填、長度、正則、資料型別)
  4. 第一個失效即 alert(AlertMessage) 並取消提交
  5. 全部通過 → 正常 PostBack 執行伺服端 OnClick

常見問題

問題解決
彈出兩次 alert頁面有多個 AlertButton 且 ValidationGroup 相同,確保只有一個提交按鈕
驗證不生效檢查 ValidationGroup 拼寫、AlertTextBox 與 Button 群組名稱一致
RegEx 不匹配正則字串需雙重跳脫:RegExPattern="^\\d+$" (ASPX 標記中)
UpdatePanel 內失效需在 AsyncPostBackTrigger 註冊按鈕,或改用標準 Validator + ValidationSummary

遷移建議:標準 ASP.NET 驗證控制項

EasyTools 已停止維護,新專案建議使用原生 RequiredFieldValidator, RegularExpressionValidator, ValidationSummary 配合 ValidationGroup,功能更完整且支援非同步回發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved