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

如何在jQuery提交事件中校验ASP.NET MVC表单是否有效?

解决ASP.NET MVC客户端校验与jQuery提交事件的兼容问题

首先,ASP.NET MVC基于数据特性的客户端校验,底层依赖jQuery Validate和jQuery Unobtrusive Validate两个脚本库——既然你已经在使用数据特性校验,页面应该已经引入了这两个库,不过可以确认下引用是否完整。

接下来,直接在你的jQuery提交处理程序里,通过表单的valid()方法就能判断是否通过校验,具体修改如下:

$form.submit(function (event) {
    // 检查表单是否通过客户端校验
    if (!$form.valid()) {
        // 校验不通过,阻止表单默认提交行为
        event.preventDefault();
        // 可选:强制触发错误提示显示(避免部分场景下提示不自动弹出)
        $form.validate().showErrors();
        return;
    }

    // 校验通过后,执行你的原有业务逻辑
    ...
});

另外,注意你ViewModel代码里的小错误:枚举名是DataType而非DateType,修正后的ViewModel代码如下:

public class SomeViewModel 
{
    [DataType(DataType.EmailAddress, ErrorMessage = "请输入有效的邮箱地址")]
    public string Email { get; set; }
}

如果遇到表单校验未自动初始化的极端情况,可以手动在页面加载时初始化校验:

$(function() {
    $form.validate();
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:20:32