我可以在ValidationSummary之后调用函数吗?
本文关键字:函数 调用 之后 ValidationSummary 我可以 | 更新日期: 2023-09-27 18:12:21
我在客户端有一个ValidationSummary
(应该由asp:LinkButton调用),检查我的RequiredFieldValidator
和CustomValidator
:
<asp:ValidationSummary
ID="valSum"
runat="server"
CssClass="label"
HeaderText="There are these errors:"
ShowSummary="False"
ShowMessageBox="True"
EnableClientScript="True"
DisplayMode="BulletList">
</asp:ValidationSummary>
和我需要,如果有错误(所以有空字段或自定义验证器失败)调用另一个javascript函数。
我真的希望这在。net 3.5上是可能的,对吧?
我在这里读过一个类似的问题,但不清楚。
将此脚本放置在页面末尾:
<script type="text/javascript">
var originalValidationSummaryOnSubmit = ValidationSummaryOnSubmit;
ValidationSummaryOnSubmit = function (validationGroup) {
originalValidationSummaryOnSubmit(validationGroup);
if (Page_IsValid === false) {
alert("boo!");
}
}
</script>
这是可能的。您需要更改链接按钮和/或其他控件的OnClientClick属性,从而执行验证。同时将CausesValidation属性设置为false。
<asp:LinkButton ID="lnkButton1" runat="server" CausesValidation="false" OnClientClick="return DoValidation('');" ... />
Javascript函数:
function DoValidation(validationGroup) {
var isValid = Page_ClientValidate(validationGroup);
if (!isValid){
isValid = DoSomethingElse();
}
return isValid;
}
如果你只想验证一个组,你可以将组的名称传递给'DoValidation'函数。
<asp:LinkButton ID="lnkButton1" runat="server" CausesValidation="false" OnClientClick="return DoValidation('NameOfGroup');" ... />