gpt4 book ai didi

javascript - CustomValidator 不显示来自 javascript 的错误消息

转载 作者:行者123 更新时间:2023-11-30 17:25:39 28 4
gpt4 key购买 nike

我正在用服务器端练习客户端验证。我在客户端编写了一个代码来验证名称,它正在返回值。但问题是,对于不正确的值,错误消息不会在文本框失去焦点后立即显示。我的实现是:

已更新

 <script type="text/javascript">
function validateText(osrc, args) {
var textvalue = args;
var pattern = /^[a-zA-Z.]{3,25}$/
if (textvalue != null || textvalue != "") {
if (pattern.test(textvalue)) {

args.isValid = true;
}
else
args.isValid = false;
}
else args.isValid = false;
return;
}
</script>

和aspx页面内容是

<asp:TextBox runat="server" ID="txtFirstName" CssClass="form-control" />
<asp:CustomValidator runat="server" Display="Dynamic" CssClass="text-danger"
ControlToValidate="txtFirstName" ToolTip="Incorrect Text" ErrorMessage="*"
EnableViewState="false" ValidateEmptyText="true" EnableClientScript="true"
Enabled="true" ClientValidationFunction="validateText"></asp:CustomValidator>//This validator is not showing the error message

它出了什么问题,需要帮助。

最佳答案

您必须设置 args.IsValid 的值TRUEFALSE 而不是只返回 true/false。您还需要使用 args.Value(注意 V 是大写字母)来正确设置 textvalue。你只应该在表达式有效时返回:

JavaScript:

function validateText(osrc, args) {
var textvalue = args.Value; //notice V is uppercase!
var pattern = /^[a-zA-Z.]{3,25}$/
if (textvalue != null || textvalue != "") {
if (pattern.test(textvalue)) {
args.IsValid = true;
return; //notice we ONLY return when the expression IS valid
}
args.IsValid = false;
}
args.IsValid = false;
}

ASPX:

<div class="col-md-10">
<asp:Label ID="Label1" runat="server" AssociatedControlID="txtFirstName"
CssClass="col-md-2 control-label">First Name</asp:Label>
<asp:TextBox runat="server" ID="txtFirstName" CssClass="form-control" />
<asp:CustomValidator ID="CustomValidator1" runat="server"
Display="Dynamic" ControlToValidate="txtFirstName"
ToolTip="Incorrect Text" ErrorMessage="*"
EnableViewState="false"
ValidateEmptyText="true"
EnableClientScript="true"
Enabled="true"
ClientValidationFunction="validateText">
Please input a valid First Name!
</asp:CustomValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtFirstName"
CssClass="text-danger"
ErrorMessage="First name is required"
ToolTip="First name is required."
EnableViewState="False" />
</div>

关于javascript - CustomValidator 不显示来自 javascript 的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24334720/

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