asp.net web表单客户端验证始终回发

时间:2012-08-22 08:38:04

标签: c# javascript asp.net webforms

我正在开发一个激活asp.net客户端验证的棕色网站,无论结果是什么,它总是回发。如果验证失败,有任何想法可以阻止这种行为吗?

提前致谢。

波奇

5 个答案:

答案 0 :(得分:0)

您可以使用自定义验证程序控件w3schoolsMSDN链接。它允许您执行客户端验证。用法example

<asp:CustomValidator id="CustomValidator1" runat="server" 
    ErrorMessage="Number not divisible by 2!" 
    ControlToValidate="txtCustomData" 
    OnServerValidate="ServerValidate" 
    ClientValidationFunction="CheckEven" /><br>
Input:
<asp:TextBox id="txtCustomData" runat="server" />
<script language="javascript">
<!--
function CheckEven(source, args) {
    var val = parseInt(args.Value, 10);
    if (isNaN(val)) {
        args.IsValid = false;
    }
    else {
        args.IsValid = ((val % 2) == 0);
    }
}
// -->
</script>

答案 1 :(得分:0)

我得到了相同的行为并通过将CausesValidation属性设置为True来修复它。

答案 2 :(得分:0)

仅举例:验证文本框,如果其空回发未调用,则调用其他回发。

按钮点击事件:

<asp:TextBox id="vTextBox" runat="server" />

<asp:button id="okButton" runat="server OnClick="okButton_Click" OnClientClick=" return isValidate();"/>

<script type="text/javascript"> 


function isValidate() {   var txt = $("#vTextBox").val();  
if ( txt === "") {  alert("error"); return false; }
else { alert(" no error "); return true; } }
</script>

答案 3 :(得分:0)

在我的情况下,我有几个缺少ClientValidationFunction的CustomValidators。

确保页面上没有JavaScript错误,这也可能导致此问题。

答案 4 :(得分:-1)

对于客户端验证,您必须调用一些JS函数进行验证:

如果您在按钮上调用客户端验证方法,则应调用它,如下所示:

<asp:Button runat="server" id ="btnSubmit" onClientClick="return ValidateForm();" >

Validate Form方法应该返回true或false。

喜欢:

function ValidateForm()

{

/// Validation goes here 

if (validated)
{
  return true;
}
else{
  return false;
}
}
}