Asp.net mvc Kendo UI网格不支持远程MVC验证?

Asp.net mvc Kendo UI网格不支持远程MVC验证?,asp.net-mvc,validation,kendo-grid,kendo-asp.net-mvc,Asp.net Mvc,Validation,Kendo Grid,Kendo Asp.net Mvc,我已将mvc远程验证放在模型类中,此远程验证方法正在调用我拥有的controller。它完全适用于mvc视图,但不适用于kendo ui grid 如果有人知道这个问题,请帮助我 我的型号代码是: [Required] [Remote("CheckDuplicateRoleName", "Role", AdditionalFields = "RoleId", ErrorMessage = "This Role Name already ex

我已将mvc远程验证放在模型类中,此远程验证方法正在调用我拥有的controller。它完全适用于mvc视图,但不适用于
kendo ui grid

如果有人知道这个问题,请帮助我

我的型号代码是:

[Required]
    [Remote("CheckDuplicateRoleName",
        "Role",
        AdditionalFields = "RoleId",
        ErrorMessage = "This Role Name already exists.")]
    public string RoleName { get; set; }

    }       

对于mvc远程验证,
CheckDuplicateRoleName
是我在
Role controller
中输入的方法名,
RoleId
是附加字段。我想在剑道弹出窗口中显示此
errormessage
,以检查数据库中是否存在重复的rolename。但此控制器方法未调用

我找到了远程mvc验证的解决方案

 (function ($, kendo) {
        $.extend(true, kendo.ui.validator, {
            rules: {
                mvcremotevalidation: function (input) {
                    if (input.is("[data-val-remote]") && input.val() != "") {
                        var remoteURL = input.attr("data-val-remote-url");
                        var valid;

                        $.ajax({
                            async: false,
                            url: remoteURL,
                            type: "GET",
                            dataType: "json",
                            data: validationData(input, this.element),
                            success: function (result) {
                                valid = result;
                            },
                            error: function () {
                                valid = false;
                            }
                        });

                        return valid;
                    }

                    return true;
                }
            },
            messages: {
                mvcremotevalidation: function (input) {
                    return input.attr("data-val-remote");
                }
            }
        });

        function validationData(input, context) {
            var fields = input.attr("data-val-remote-additionalFields").split(",");
            var name = input.prop("name");
            var prefix = name.substr(0, name.lastIndexOf(".") + 1);
            var fieldName;
            var data = {};
            for (var i = 0; i < fields.length; i++) {
                fieldName = fields[i].replace("*.", prefix);
                data[fieldName] = $("[name='" + fieldName + "']", context).val();
            }
            return data;
        }
    })(jQuery, kendo);
(函数($,剑道){
$.extend(true,kendo.ui.validator{
规则:{
mvcremotevalidation:函数(输入){
if(input.is(“[data val remote]”)和&input.val()!=“”){
var remoteURL=input.attr(“数据值远程url”);
var有效;
$.ajax({
async:false,
url:remoteURL,
键入:“获取”,
数据类型:“json”,
数据:validationData(输入,此.element),
成功:功能(结果){
有效=结果;
},
错误:函数(){
有效=错误;
}
});
返回有效;
}
返回true;
}
},
信息:{
mvcremotevalidation:函数(输入){
返回input.attr(“数据值远程”);
}
}
});
函数验证数据(输入、上下文){
var fields=input.attr(“数据val远程附加字段”).split(“,”);
变量名称=input.prop(“名称”);
var prefix=name.substr(0,name.lastIndexOf(“.”+1);
变量字段名;
变量数据={};
对于(变量i=0;i
我找到了远程mvc验证的解决方案

 (function ($, kendo) {
        $.extend(true, kendo.ui.validator, {
            rules: {
                mvcremotevalidation: function (input) {
                    if (input.is("[data-val-remote]") && input.val() != "") {
                        var remoteURL = input.attr("data-val-remote-url");
                        var valid;

                        $.ajax({
                            async: false,
                            url: remoteURL,
                            type: "GET",
                            dataType: "json",
                            data: validationData(input, this.element),
                            success: function (result) {
                                valid = result;
                            },
                            error: function () {
                                valid = false;
                            }
                        });

                        return valid;
                    }

                    return true;
                }
            },
            messages: {
                mvcremotevalidation: function (input) {
                    return input.attr("data-val-remote");
                }
            }
        });

        function validationData(input, context) {
            var fields = input.attr("data-val-remote-additionalFields").split(",");
            var name = input.prop("name");
            var prefix = name.substr(0, name.lastIndexOf(".") + 1);
            var fieldName;
            var data = {};
            for (var i = 0; i < fields.length; i++) {
                fieldName = fields[i].replace("*.", prefix);
                data[fieldName] = $("[name='" + fieldName + "']", context).val();
            }
            return data;
        }
    })(jQuery, kendo);
(函数($,剑道){
$.extend(true,kendo.ui.validator{
规则:{
mvcremotevalidation:函数(输入){
if(input.is(“[data val remote]”)和&input.val()!=“”){
var remoteURL=input.attr(“数据值远程url”);
var有效;
$.ajax({
async:false,
url:remoteURL,
键入:“获取”,
数据类型:“json”,
数据:validationData(输入,此.element),
成功:功能(结果){
有效=结果;
},
错误:函数(){
有效=错误;
}
});
返回有效;
}
返回true;
}
},
信息:{
mvcremotevalidation:函数(输入){
返回input.attr(“数据值远程”);
}
}
});
函数验证数据(输入、上下文){
var fields=input.attr(“数据val远程附加字段”).split(“,”);
变量名称=input.prop(“名称”);
var prefix=name.substr(0,name.lastIndexOf(“.”+1);
变量字段名;
变量数据={};
对于(变量i=0;i