gpt4 book ai didi

javascript - 验证 (Page_ClientValidate ('mygroup' )) 在回发后始终返回 true

转载 作者:行者123 更新时间:2023-12-03 11:10:19 24 4
gpt4 key购买 nike

我有一个页面,我做了一些验证,我的所有验证都是客户端预期的,它使用服务器验证。所以我的问题是,当我触发服务器端验证和页面回发时,此函数 Page_ClientValidate('mygroup') 返回 true,因此我失去了验证,但我的必填字段却没有。

function DoValidation() { var validated = Page_ClientValidate('NewMemberRequired'); Page_BlockSubmit = false; return validated; }

<telerik:RadButton ID="btnSave" runat="server" Text="Save & Close" OnClick="btnSave_Click" CausesValidation="true"
OnClientClick="return DoValidation();">

//the fields
<asp:RequiredFieldValidator ID="AddressRequired" runat="server" ControlToValidate="Address"
CssClass="ErrorMessage" ErrorMessage="Required"ValidationGroup="mygroup"><asp:RequiredFieldValidator/>

//an other filed with postback=true
<telerik:RadTextBox ID="age" runat="server" AutoPostBack="True" OnTextChanged="age_TextChanged">

最佳答案

  1. 阅读有关使用 RadButton 客户端事件的文档,因为即使不会导致错误,您的方法也不会起作用:http://www.telerik.com/help/aspnet-ajax/button-onclientclicking.html 。这也可以帮助:http://blogs.telerik.com/aspnet-ajax/posts/12-08-10/migrating-onclientclick-handlers-from-asp-button-to-telerik-s-asp-net-ajax-button.aspx

  2. 阅读有关执行自定义验证的文档:http://www.telerik.com/help/aspnet-ajax/button-validation-with-postback-confirm.html

  3. 确保您的验证组正常,因为在提供的代码片段中它们不匹配

  4. 当您删除文本框的 AutoPostBack=true 时,无论此设置中的验证器如何,都会将其回发

下面是一些验证良好的代码:

        <telerik:RadButton ID="btnSave" runat="server" Text="Save & Close" OnClick="btnSave_Click" CausesValidation="true"
OnClientClicking="DoValidation">
</telerik:RadButton>
//the fields
<asp:RequiredFieldValidator ID="AddressRequired" runat="server" ControlToValidate="Address"
CssClass="ErrorMessage" ErrorMessage="Required" ValidationGroup="mygroup">
</asp:RequiredFieldValidator>

//an other filed with postback=true
<telerik:RadTextBox ID="Address" runat="server" AutoPostBack="True" OnTextChanged="age_TextChanged" ValidationGroup="mygroup" CausesValidation="true">
</telerik:RadTextBox>

<script>
function DoValidation(sender, args) {
var validated = Page_ClientValidate('mygroup');
args.set_cancel(!validated);
Page_BlockSubmit = false;
}
</script>

变化:

  1. 正确使用OnClientClicking事件

  2. 设置正确的验证组

  3. CausesValidation=true 对于 etxtbox,因此删除其文本将导致验证并阻止回发

关于javascript - 验证 (Page_ClientValidate ('mygroup' )) 在回发后始终返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27628946/

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