DataAnnotations 无法提交使用 ajax 调用的部分视图的表单

Posted

技术标签:

【中文标题】DataAnnotations 无法提交使用 ajax 调用的部分视图的表单【英文标题】:DataAnnotations Not working on submit of form of a partial view called with ajax 【发布时间】:2019-03-21 10:30:33 【问题描述】:

我有一个 ajax 调用

$.ajax(
    type: "POST",
    data: $("#divInfoRecherche :input").serialize(),
    url: '@Url.Action(Action, Controler)',
    success: function(resultat) 
        $("#tableauResultatRecherche").css("display", "");
        $("#tableauResultatRecherche").html(resultat);
        $.validator.unobtrusive.parse($('#PartialViewModel'));
    
);

$.validator.unobtrusive.parse($('#PartialViewModel')); 行使客户端验证可以弹出,一切正常。 问题是当我点击页面的提交时,消息错误会回到原生 javascript 的错误“此字段是必需的”,而不是我在模型中链接的自定义消息。

我想到的选项是在主视图中添加部分视图的内容并手动填充它,以便在 Pageload 上添加所有验证。

但我仍然想看看是否有其他选择。

【问题讨论】:

【参考方案1】:

https://xhalent.wordpress.com/2011/01/24/applying-unobtrusive-validation-to-dynamic-content/ 这是添加和调用包含局部视图的 div 的脚本。

【讨论】:

以上是关于DataAnnotations 无法提交使用 ajax 调用的部分视图的表单的主要内容,如果未能解决你的问题,请参考以下文章

使用 DataAnnotations 比较两个模型属性

AspNetCore MVC页面数据提交验证

如果我使用 jQuery 验证,是不是必须使用 DataAnnotations?

使用 Validator 类验证 DataAnnotations

使用 DataAnnotations 和 DataType 验证电子邮件模型

如何使用 DataAnnotations 来检查一个属性只匹配一个字符串数组