我想订阅成功验证ASP.NET表单时触发的任何事件。
以下是方案:点击付款表单上的按钮,我想显示消息'处理',但我只想在成功验证for时显示此按钮。
我正在使用原生ASP.NET表单验证。
答案 0 :(得分:2)
以循环方式,您可以覆盖Page_ClientValidate方法,如下所示:
var fn = Page_ClientValidate;
Page_ClientValidate = function(..) {
var result = fn(..);
if (result == true) {
//run code for success
}
}
我不知道为什么降级,但这种方法很好,因为它适用于所有自定义验证方案(来自按钮,WebForms_DoPostBackWithOptions客户端方法等)。
HTH。
答案 1 :(得分:1)
我认为内置验证器不会暴露任何此类事件。您始终可以使用CustomValidator
并提供OnClientValidate
方法,该方法将结合您正在寻找的验证以及您想要的UI更改。
答案 2 :(得分:1)
随时调用以下Javascript函数,并将表单的验证组名称传递给它..
function ValidateForm(ValidationGroupName)
{
var validated=Page_ClientValidate(ValidationGroupName);
if(validated)
{
//do the logic here
return true;
}
else
{
return false;
}
}
希望这会对你有帮助....
答案 3 :(得分:0)
我认为以你的方式做到这一点并不容易,但你能做的是以下几点:
<asp:Button onclientclick="if (Page_IsValid) return true; else {alert('Not Valid'); return false;}"/>
这基本上会抛出错误,验证不正确,否则会继续。