我正在开发一个触发 asp.net 客户端验证的棕地网站,无论结果如何,它总是会进行回发。如果验证失败,有人有什么想法可以阻止这种行为吗?
提前致谢。
波奇
我正在开发一个触发 asp.net 客户端验证的棕地网站,无论结果如何,它总是会进行回发。如果验证失败,有人有什么想法可以阻止这种行为吗?
提前致谢。
波奇
just for example: validate the textbox , if its empty postback not called else postback called.
button click event:
<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>
您可以利用自定义验证器控件w3schools或MSDN链接。它允许您执行客户端验证。用法示例。
<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>
我得到了相同的行为并通过将 CausesValidation 属性设置为 True 来修复它。
就我而言,我有几个 CustomValidators 缺少 ClientValidationFunction。
确保页面上没有也可能导致此问题的 JavaScript 错误。
对于客户端验证,您必须调用一些 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;
}
}
}