【问题标题】:(ASP.NET) how args.IsValid stop form being submitted?(ASP.NET) args.IsValid 如何阻止表单被提交?
【发布时间】:2019-02-01 00:31:58
【问题描述】:

当我添加自定义验证时,ASP.NET 会将这些 javascript 发送到浏览器,例如:

<script>
  function validatePhoneNumbers(source, args)
  {
   var phoneHome = ...

   if (phoneHome.value != '')
   {
     args.IsValid = true;
   }
   else
   {
     args.IsValid = false;
   }
 }
</script>

那么args.IsValid = false; 如何停止提交表单?

【问题讨论】:

标签: javascript asp.net


【解决方案1】:

我假设您在设置客户端验证的页面某处的CustomValidator 控件上有ClientValidationFunction 属性设置:

<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validatePhoneNumbers" ...>
</asp:CustomValidator>

validatePhoneNumbers函数内部使用的args参数实际上有两个属性,分别是ValueIsValid,它们是ServerValidateEventArgs类的成员。

因此,IsValid 属性指示由CustomValidator 控件关联的输入控件提供的Value 属性中存储的值是通过验证过程还是失败验证过程。如果验证失败,则整个表单提交事件将被停止。

进一步参考:

CustomValidator class

【讨论】:

  • 但我指的是客户端,我的意思是客户端的javascript如何停止提交表单?
  • 听起来像处理它的CustomValidator服务器控件提供的客户端脚本,它使用preventDefault()函数来阻止表单提交。它背后的逻辑存储在服务器控件定义中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-31
  • 1970-01-01
相关资源
最近更新 更多