簡體   English   中英

自定義驗證器不適用於文本框

[英]Custom Validator not working for textbox

我正在學習如何使用自定義驗證器進行服務器端驗證,但似乎無法正常工作。 每當我單擊按鈕時,文本框為空,錯誤消息都不會顯示。 我究竟做錯了什么?

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:CustomValidator ID="CustomValidator1" ControlToValidate="TextBox1"
     OnServerValidate="CustomValidator1_ServerValidate" ValidationGroup="ValidateGp"
     ErrorMessage="This is a custom error validator" runat="server"/>

<asp:Button ID="Button1" runat="server" Text="Button" ValidationGroup="ValidateGp"/>

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
    if (args.Value.Equals(string.Empty))
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }
}

您錯過了ValidateEmptyText =“ true”

<asp:CustomValidator ID="CustomValidator1"
                    ValidateEmptyText="true" runat="server" ValidationGroup="ValidateGp" ErrorMessage="This is a custom error validator" ControlToValidate="TextBox1" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>

除了強制執行空驗證(在某些情況下,空TextBox是有效的(!))之外,建議您捕獲TextBox更改事件並在那里強制Page.Validate()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM