gpt4 book ai didi

c# - Button Click 在自定义验证发生之前触发

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:08 24 4
gpt4 key购买 nike

我有这个带有自定义验证器和按钮的表单。但是,我的自定义验证器仅在单击按钮后才显示错误。这是我的验证器、按钮和隐藏代码。

   <asp:CustomValidator ID="CustomValidator1" runat="server" 
ErrorMessage="User Name cannot be Empty!" ForeColor="Red"
onservervalidate="CustomValidator1_ServerValidate"
ControlToValidate="userNameTxt" ValidateEmptyText="True"
ValidationGroup="save-valid"></asp:CustomValidator>
<asp:Button ID="saveButton" runat="server" Text="Save" CssClass="save-button"
onclick="saveButton_Click" TabIndex="7" ValidationGroup="save-valid" />

这是我的代码。

     protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
if (IsUserValid(userNameTxt.Text))
{
CustomValidator1.ErrorMessage = "User Name cannot be Empty!";
args.IsValid = false;

}
else
args.IsValid = true;


}

protected void saveButton_Click(object sender, EventArgs e)
{

//This code executes regardless of CUstom Validator
}

最佳答案

您可以尝试使用客户端验证。

<script type="text/jscript">
function textBoxControl(source,arguments){
if(arguments.Value.length >0) //or control things (e.g. at least 6 character)
arguments.isValid = true;
else
arguments.isValid = false;
}
<script>

后面的代码如下。

<asp:TextBox ID="userNameTxt" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:CustomValidator ID="CustomValidator1"
runat="server" ErrorMessage="CustomValidator"
onservervalidate="CustomValidator1_ServerValidate"
ControlToValidate="userNameTxt"
ClientValidationFunction="textBoxControl"></asp:CustomValidator>

关于c# - Button Click 在自定义验证发生之前触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29340294/

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