1
我有一个自定义验证器,其中验证控件的脚本是客户端JavaScript。ASP.NET自定义验证器 - Page.Validate(“groupName”)不会触发?
在我的网站后面的VB代码我打电话Page.Validate("groupName")
,但我的验证脚本根本没有被解雇。我在JavaScript中放置了一个断点,但它甚至没有触及我的验证脚本。而当我在非自定义验证器上使用相同的函数时,它可以工作。
我想通过Page.Validate("groupName")
在我的VB后面的代码中调用我的客户端验证脚本是不可能的。我绝对需要服务器端验证功能吗?
下面是一些代码:
<asp:CustomValidator ID="ValidateTxt" runat="server"
ClientValidationFunction="validateTxt"
ControlToValidate="txtBox"
Display="Dynamic"
ValidationGroup="group1">
</asp:CustomValidator>
<script type="text/javascript" language="javascript" >
function validateFinHeight(source, arguments)
{
if(arguments.Value % 2 == 0){
arguments.IsValid = true;
}
}
</script>
VB代码背后:
Protected Sub cbo(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbo.SelectedIndexChanged
Page.Validate("group1")
End Sub
的Page.Validate("group1")
不叫我的JavaScript函数。
是的,你绝对需要服务器端的验证,因为用户可以绕过你的JavaScript检查,并提交他们想要的任何表单。唯一确定的方法是在服务器端进行检查。 – Greg 2011-01-05 20:20:06
我并不担心用户绕过,因为这是一个简单的Web应用程序,只会在我工作的公司中大约3-4人使用。它不会向公众开放,人们将会尝试这种肮脏的东西。 – Johnrad 2011-01-05 20:29:44