自定义验证器仅在第一次按钮点击时触发?

时间:2011-02-17 19:01:56

标签: asp.net validation customvalidator

我在页面上有一个自定义验证器和一些其他验证器。但每当我第一次单击提交按钮时,它只会触发自定义验证器,当我第二次单击该按钮时,它会验证其余的验证器。如果您有任何解决方案,请告诉我。

由于

2 个答案:

答案 0 :(得分:1)

检查您的Page_Load以确保您在第二次通话后没有隐藏或启用某些内容。之前我遇到过类似的问题,直到我意识到我正在操纵包含验证器的Panel中的Page_Load时,它才把我弄糊涂了。

除此之外,您需要发布代码(您的Page_LoadClick事件)。

答案 1 :(得分:1)

在客户端时

OnClientClick="return SomeCustomClientCode();"

被调用,asp.net验证器,例如必需的字段验证器被禁用,并且它不会在验证器集合中列出,并且如果自定义验证通过,则不会验证由此验证器验证的字段和页面回发。

为了避免这种情况,请在自定义验证代码中明确启用asp.net验证器,或者在页面回发之前或开始自定义验证时激活它,如下所示:

ValidatorEnable(document.getElementById('<%=rfvDDLStatus.ClientID%>'), true);

rfvDDLStatus ==> required field validator没有触发.. ValidatorEnable ==> Client API来启用asp.net验证器