在.net mvc中,jquery-validate插件如何远程提交动态参数

Posted

技术标签:

【中文标题】在.net mvc中,jquery-validate插件如何远程提交动态参数【英文标题】:In .net mvc, How jquery-validate plugin remote submit dynamic params 【发布时间】:2018-05-03 08:13:36 【问题描述】:
Roleid: 
    required: true,
    maxlength: 30,
    remote: 
        url: rooturl + '/Manage/Role/ExsitCheck',
        type: 'post',
        data: 
            id: $("#Id").val(),
            rolename: $("#RoleName").val()

        ,
        dataFilter: function (data, type) 
            if (data == "yes")
                return true;
            else
                return false;
        
    
,

如果角色名称值被某些事件更改,我如何使用角色名称验证我的角色 ID,我的后端框架是 .NET MVC4。

【问题讨论】:

你的代码需要在问题中,而不是指向它的图像的链接。 你为什么不只使用应用于你的属性的[RemoteAttribute](你的脚本就不需要了)? 阅读并按照文档中的示例进行操作:jqueryvalidation.org/remote-method 【参考方案1】:

按照the examples in the remote documentation提交您的动态参数:

替换这个...

data: 
    id: $("#Id").val(),
    rolename: $("#RoleName").val()
,

有了这个……

data: 
    id: function() 
        return $("#Id").val();
    ,
    rolename: function() 
        return $("#RoleName").val();
    
,

顺便说一句,您可能也不需要dataFilter。该插件会自动处理来自服务器的响应...

服务器端响应必须是 JSON 字符串,必须为“true” 有效元素,可以是“false”、未定义或 null 表示无效 元素,使用默认的错误消息。如果服务器端响应 是一个字符串,例如。 "该名称已被占用,请尝试 peter123", 此字符串将显示为自定义错误消息,而不是 默认。

换句话说,如果服务器以"false" 响应,那么jQuery Validate 插件将自动将此视为对该字段的失败验证尝试。

【讨论】:

5 年后,即使使用 ASP NET Core NET 5,您的答案仍然正确。非常感谢!

以上是关于在.net mvc中,jquery-validate插件如何远程提交动态参数的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC教程五:ASP.NET MVC中的路由

asp.net mvc中html.Action问题

请问在.net mvc3.0中,如何在action之间传递参数,切记不能在地址栏中看到

007.Adding a view to an ASP.NET Core MVC app -- 在asp.net core mvc中添加视图

七天学会ASP.NET MVC ——ASP.NET MVC 数据传递

在 ASP.NET MVC 4 中添加服务引用