【问题标题】:Append another validation function to Javascript form validation logic将另一个验证函数附加到 Javascript 表单验证逻辑
【发布时间】:2013-10-08 10:29:12
【问题描述】:

我有一个表单,其中包含一些用户输入字段。在这个表单中,我有每个输入控件的 Asp.net 验证控件。一些验证器是自定义验证器,用于处理相关 JavaScript 函数中的内部验证逻辑。 现在我想确保表单在触发表单 onsubmit 事件时有效,请使用以下代码:

form = documet.forms[0];

 form.onsubmit=function(){

 if(validMobile){
  return true;
 }
 return false;

}

现在,如果我点击提交按钮,如果 validmobile 为 true,则始终返回 true,并且表单始终发布到服务器,并且永远不会触发其他验证。 有没有办法让我对表单进行验证,然后检查自定义验证逻辑? 例如:

form = documet.forms[0];

 form.onsubmit=function(){

 if(<b><u>form.isvalid</u></b> && validMobile){
  return true; 
 }
 return false; 

}

【问题讨论】:

  • 对于 JSPage_ClientValidate() 对于 C#Page.IsValid
  • 你能解释一下你的评论吗?
  • 如果你想从 JS 中检查页面验证状态,你可以使用 Page_ClientValidate() 函数例如你可以看这里stackoverflow.com/questions/3548546/…
  • 感谢 Haseeb。我想我明白了。

标签: javascript validation


【解决方案1】:

return 语句在调用时离开函数。因此,除非您确定所有测试都已完成,否则不应调用它。

例如,使用标志isValid,您可以跟踪您的验证是否失败。

完成所有验证后,您可以返回该布尔值而不是固定值。

form = documet.forms[0];

form.onsubmit = function(){
    var isValid = true;

    if(!validMobile){
        isValid = false;
    } else if(!validDesktop) {
        isValid = false;
    }

    return isValid;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2012-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多