gpt4 book ai didi

asp.net CustomValidator 从不触发 OnServerValidate

转载 作者:行者123 更新时间:2023-12-03 22:56:05 25 4
gpt4 key购买 nike

我有以下 ASP 页面:

<asp:Content ID="Content2" ContentPlaceHolderID="ShellContent" runat="server">
<form runat="server" id="AddNewNoteForm" method="post"">

<fieldset id="NoteContainer">
<legend>Add New Note</legend>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
<div class="ctrlHolder">
<asp:Label ID="LabelNoteDate" runat="server" Text="Note Date"
AssociatedControlID="NoteDateTextBox"></asp:Label>
<asp:TextBox ID="NoteDateTextBox" runat="server" class="textInput"
CausesValidation="True" ></asp:TextBox>
<asp:CustomValidator
ID="CustomValidator1"
runat="server"
ErrorMessage="CustomValidator"
ControlToValidate="NoteDateTextBox"
OnServerValidate="CustomValidator1_ServerValidate"
Display="Dynamic"
>*</asp:CustomValidator>
</div>
<div class="ctrlHolder">
<asp:Label ID="LabelNoteText" AssociatedControlID="NoteTextTextBox" runat="server" Text="Note"></asp:Label>
<asp:TextBox ID="NoteTextTextBox" runat="server" Height="102px"
TextMode="MultiLine" class="textInput" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ErrorMessage="Note Text is Required" ControlToValidate="NoteTextTextBox">*</asp:RequiredFieldValidator>

</div>
<div class="buttonHolder">
<asp:Button ID="OkButton" runat="server" Text="Add New Note"
CssClass="primaryAction" onclick="OkButton_Click"/>
<asp:HyperLink ID="HyperLink1" runat="server">Cancel</asp:HyperLink>
</div>
</fieldset>
</form>
</asp:Content>

以及 CustomValidator1_ServerValidate() 方法的以下代码:
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{

if (string.IsNullOrEmpty(args.Value.Trim()))
{
args.IsValid = false;
CustomValidator1.ErrorMessage = "Note Date is Required!";
return;
}

DateTime testDate;
if (DateTime.TryParse(args.Value, out testDate))
{
args.IsValid = true;
CustomValidator1.ErrorMessage = "Invalid Date!";
}

}

无论我在文本框中输入什么,它似乎都不会失败验证......

应该提到这是ASP.NET 2.0

最佳答案

当您测试文本框是否为空时,请在 CustomValidator 上使用此 ValidateEmptyText="true"。

否则必填字段验证将不起作用。

关于asp.net CustomValidator 从不触发 OnServerValidate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1651155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com