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

ASP.NET MVC中如何实现表单验证通过后再调用JS函数

解决方案

ASP.NET MVC 默认集成的 jQuery 非侵入式客户端验证,会给表单实例挂载valid()方法,直接调用这个方法就能拿到当前表单的校验结果,只有返回true时才代表表单校验通过,这时候再执行你的自定义逻辑即可。

修改后的提交事件代码:

$('form').submit(function () {
    // 校验通过才执行自定义图片删除逻辑
    if ($(this).valid()) {
        deleteImages();
    }
    return true;
});

注意事项

  • 不要在@Html.BeginForm()的内联onsubmit属性里写自定义逻辑,内联事件执行优先级高于jQuery绑定的事件,会抢在校验逻辑运行前执行,你现在用jQuery绑定submit事件的写法是正确的
  • valid()方法依赖jquery.validate.js和jquery.validate.unobtrusive.js两个脚本,MVC默认生成的表单页会自动引入这两个文件,如果运行时提示valid is not a function,检查下脚本加载顺序是否正确:必须先加载jQuery,再加载validate相关脚本
  • 上述判断只覆盖客户端校验,如果要兼容服务端校验逻辑,只需要在服务端校验不通过时返回原视图即可,不会触发提交成功后的后续逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:18:23