You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

input validation不生效 表单无论如何都会提交如何解决?

问题原因及修复方案

1. 移除重复加载的jQuery

当前页面先后加载了两个版本的jQuery,会导致jquery-validate插件绑定异常,删除多余的jQuery引用即可:

<!-- 删掉这行重复的低版本jQuery -->
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>

保留唯一的jQuery引用即可,建议使用普通版不要用slim版,避免缺少部分API导致插件报错。

2. 修正validate初始化语法

当前的validate调用语法错误,debug:true没有放在参数对象内部,同时没有指定校验规则,也没有给表单元素加必填标识,按如下方式修改:
方案一:给input标签加原生required属性,配合默认校验规则:

<!-- 给所有必填的input加上required属性,邮箱校验加equalTo规则 -->
<input type="text" name="first_name" id="first_name" required>
<input type="text" name="last_name" id="last_name" required>
<input type="email" name="email" id="email" required>
<input type="email" name="verify" id="verify" required equalTo="#email">

然后修正validate初始化代码:

<script>
$(document).ready(function(){
  $("#contact_form").validate({
    debug: false, // 调试阶段可以设为true阻止表单提交,上线改为false
    messages: {
      verify: {
        equalTo: "两次输入的邮箱地址不一致"
      }
    }
  });
});
</script>

3. 额外优化建议

  • 校验规则如果不想写在标签里,也可以全部放在validate的rules参数中,和页面结构解耦
  • 上线前一定要保留后端PHP的二次校验,前端校验只能防正常用户的误操作,不能防恶意提交

内容的提问来源于stack exchange,提问作者iglified

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 14:21:02