gpt4 book ai didi

asp.net - 必填字段验证器不起作用

转载 作者:行者123 更新时间:2023-12-01 09:08:27 26 4
gpt4 key购买 nike

我使用了一个必填字段验证器,后跟一个正则表达式验证器,但必填字段验证器不起作用.....

<asp:TextBox ID="txtSummary" runat="server" TextMode="MultiLine" Width="700px"
CssClass="txtStyle" Font-Names="Arial" MaxLength="1000"
ValidationGroup="Valtxt" TabIndex="2" Rows="4">
</asp:TextBox>

<asp:RegularExpressionValidator ID="regValSummary" runat="server"
ControlToValidate="txtSummary" Display="Dynamic"
ValidationExpression="[^&lt;&gt;&amp;#!]*" ValidationGroup="Valtxt">
Invalid characters(&lt;&gt;&amp;#!) are not allowed
</asp:RegularExpressionValidator>

<asp:RequiredFieldValidator ID="reqvalSummary" runat="server"
ControlToValidate="txtSummary" ErrorMessage="Summary is required"
ValidationGroup="Valtxt" Display="Dynamic">
</asp:RequiredFieldValidator>

谁能看出问题???

最佳答案

RequiredFieldValidator由客户端触发onchange事件。听起来您希望它由 onblur 触发事件,这样离开文本框的选项卡会触发验证。

在开始之前,我怀疑这就是您所看到的,要验证它是否确实有效,您需要触发 onchange .为此,请在文本框中输入一些文本,使用制表符离开,再次使用制表符,清除文本框,然后再次使用制表符。您现在应该会看到RequiredFieldValidator 的错误消息,因为它的内容已更改

返回 onblur问题。要完成该行为,您可以添加 onblur属性在你的代码隐藏,并让它调用 ValidatorValidate(...) JavaScript方法如下:

void Page_Load(object sender, EventArgs e)
{
txtSummary.Attributes.Add("onblur", "ValidatorValidate(" + reqvalSummary.ClientID + ")");
}

或者,您可以在标记中完成同样的事情。首先,添加这个脚本 block :

<script type="text/javascript">
function rfvBlur() {
var rfv = document.getElementById("<%= reqvalSummary.ClientID %>");
ValidatorValidate(rfv);
}
</script>

其次,更新<asp:TextBox.../>通过添加 onblur="rfvBlur()" 进行标记所以它现在看起来像这样:

<asp:TextBox ID="txtSummary" runat="server" TextMode="MultiLine" Width="700px" CausesValidation="true"
CssClass="txtStyle" Font-Names="Arial" MaxLength="1000" ValidationGroup="Valtxt"
TabIndex="2" Rows="4" onblur="rfvBlur()" />

另一个选项是通过将以下属性添加到您的 <asp:TextBox.../> 来验证整个 ValidationGroup标记(不需要额外的脚本 block ):

onblur="Page_ClientValidate('Valtxt')"

关于asp.net - 必填字段验证器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069001/

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