asp.net web表单客户端验证始终回发
asp.net web forms clientside validation always postback
我在一个棕地网站上工作,该网站会启动asp.net客户端验证,无论结果如何,它都会进行回发。如果这种行为没有通过验证,有人有什么想法可以阻止它吗?
提前谢谢。
吊舱
您可以利用自定义验证程序控制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来修复它。
仅举个例子:验证文本框,如果它的空回发未被调用,则回发已被调用。
按钮点击事件:
<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>
在我的案例中,我有几个CustomValidator,其中缺少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;
}
}
}
相关文章:
- 客户端单选按钮列表验证
- 如何在不使用mvc 4中的模型的情况下进行客户端验证
- ServiceStack JavaScript服务器事件客户端的身份验证
- MVC客户端验证的某个位置缺少链接
- 从javascript客户端验证REST服务
- asp.net web表单客户端验证始终回发
- 如何在文本框中验证客户端的youtube url
- 如何验证客户端上的Javascript没有被更改
- 检查验证组是否有效,而不启动验证客户端
- Ember用户身份验证(客户端和服务器端完全分离)
- 是否不可能通过/Regex_syntax/.test(str_to_test)验证客户端输入,其中Regex_synta
- 调试不显眼的验证(客户端)
- Asp.net MVC日期时间动态验证客户端日期格式
- 尝试访问HTML5电子邮件验证客户端
- 验证客户端日期范围
- 表单验证客户端和服务器端
- 如何验证客户端中文本框值的总和
- 验证客户端AngularJS上输入的图像文件维度
- JSON Web令牌(JWT)-验证客户端
- MVC 5 - 验证客户端上的特定字段