Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何使jquery验证与我的Jetable插件一起工作?_Asp.net Mvc_Jquery Validate_Jeditable_Unobtrusive Validation - Fatal编程技术网

Asp.net mvc 如何使jquery验证与我的Jetable插件一起工作?

Asp.net mvc 如何使jquery验证与我的Jetable插件一起工作?,asp.net-mvc,jquery-validate,jeditable,unobtrusive-validation,Asp.net Mvc,Jquery Validate,Jeditable,Unobtrusive Validation,我正试图用我的jeditable插件实现jquery验证。。由于jeditable对我来说有些陌生,我想我应该尝试使用在论坛上找到的代码添加它。这是我的原始代码,除了验证之外,它运行良好 <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery

我正试图用我的jeditable插件实现jquery验证。。由于jeditable对我来说有些陌生,我想我应该尝试使用在论坛上找到的代码添加它。这是我的原始代码,除了验证之外,它运行良好

 <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
 <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"      type="text/javascript"></script>
 <script src="../../Scripts/jquery.jeditable.js" type="text/javascript"></script>
 <script src="../../Scripts/jquery.ui.datepicker.js" type="text/javascript"></script>



  <script type="text/javascript">
      $(document).ready(function () {

     $(".display-label").editable("/Course/RubricsEdit");

     $(".text").editable("/Course/RubricsEdit",
                    {
                        submitdata: {
                            DepartmentId: function () {
                                return $("#DepartmentId").val();
                            },
                            RecordType: "DEPARTMENT"
                        }
                    });

$(文档).ready(函数(){
$(“.display label”).editable(“/Course/RubricsEdit”);
$(“.text”).editable(“/Course/RubricsEdit”,
{
提交数据:{
部门ID:功能(){
返回$(“#部门ID”).val();
},
记录类型:“部门”
}
});
然后我试了一下:

     <script type="text/javascript">
       $(document).ready(function () {

       $(".display-label").editable("/Course/RubricsEdit");

       $(".text").editable("/Course/RubricsEdit",
                    {
                        submitdata: {
                            DepartmentId: function () {
                                return $("#DepartmentId").val();
                            },
                            RecordType: "DEPARTMENT"
                        }
                    });

   $(".text").editable("/Course/RubricsEdit", {
   submitdata: function (settings, td) {
    var input = $(td).find('input');
    $(this).validate({
        rules: {
            'nameofinput': {
                number: true
            }
        },
        messages: {
            'actionItemEntity.name': {
                number: 'Only numbers are allowed'

            }

        }
    })

    return ($(this).valid());
     }
 });


 });
</script> 
 <script type="text/javascript">
 $(document).ready(function () {





     $(this).validate({
         rules: {
             submitdata: {
                 number: true
             }
         },
         messages: {
             submitdata: {
                 number: 'Only numbers are allowed'
             }

         }
     });





     $(".display-label").editable("/Course/RubricsEdit");

     $(".text").editable("/Course/RubricsEdit",
                    {
                        submitdata: {
                            DepartmentId: function () {
                                return $("#DepartmentId").val();
                            },
                            RecordType: "DEPARTMENT"
                        }
                    });



 });
</script> 

$(文档).ready(函数(){
$(“.display label”).editable(“/Course/RubricsEdit”);
$(“.text”).editable(“/Course/RubricsEdit”,
{
提交数据:{
部门ID:功能(){
返回$(“#部门ID”).val();
},
记录类型:“部门”
}
});
$(“.text”).editable(“/Course/RubricsEdit”{
提交数据:功能(设置,td){
var input=$(td.find('input');
$(此)。验证({
规则:{
“输入名称”:{
数字:对
}
},
信息:{
“actionItemEntity.name”:{
数字:“只允许数字”
}
}
})
返回($(this.valid());
}
});
});
仍然有效,但没有验证发生。有没有办法让我的Jeddable插件进行验证

更新: 所以我试了一下:

     <script type="text/javascript">
       $(document).ready(function () {

       $(".display-label").editable("/Course/RubricsEdit");

       $(".text").editable("/Course/RubricsEdit",
                    {
                        submitdata: {
                            DepartmentId: function () {
                                return $("#DepartmentId").val();
                            },
                            RecordType: "DEPARTMENT"
                        }
                    });

   $(".text").editable("/Course/RubricsEdit", {
   submitdata: function (settings, td) {
    var input = $(td).find('input');
    $(this).validate({
        rules: {
            'nameofinput': {
                number: true
            }
        },
        messages: {
            'actionItemEntity.name': {
                number: 'Only numbers are allowed'

            }

        }
    })

    return ($(this).valid());
     }
 });


 });
</script> 
 <script type="text/javascript">
 $(document).ready(function () {





     $(this).validate({
         rules: {
             submitdata: {
                 number: true
             }
         },
         messages: {
             submitdata: {
                 number: 'Only numbers are allowed'
             }

         }
     });





     $(".display-label").editable("/Course/RubricsEdit");

     $(".text").editable("/Course/RubricsEdit",
                    {
                        submitdata: {
                            DepartmentId: function () {
                                return $("#DepartmentId").val();
                            },
                            RecordType: "DEPARTMENT"
                        }
                    });



 });
</script> 

$(文档).ready(函数(){
$(此)。验证({
规则:{
提交数据:{
数字:对
}
},
信息:{
提交数据:{
数字:“只允许数字”
}
}
});
$(“.display label”).editable(“/Course/RubricsEdit”);
$(“.text”).editable(“/Course/RubricsEdit”,
{
提交数据:{
部门ID:功能(){
返回$(“#部门ID”).val();
},
记录类型:“部门”
}
});
});
…并收到一条错误消息:


Microsoft JScript运行时错误:对象不支持属性或方法“验证”。我可能缺少什么?

如果要手动编写自己的验证规则(通过调用
$(this)。验证({…}
)您不能再使用不引人注目的验证。因此,请摆脱
jquery.validate.unobtrusive.min.js
脚本,因为它对您不再有用。不引人注目的验证的全部要点是ASP.NET MVC助手将检查您的模型属性,以及它们是否用验证属性修饰(例如
必需的
)在输入元素上发出相应的HTML5
data-*
属性,该属性将由
jquery.validate.unobtrusive.min.js
脚本使用,以便在
jquery.validate
中动态注册验证规则。如果将插件与自己的规则分开使用,则不应同时使用unobtrusive validation不要一起工作。

关于您的代码:

$(".text").editable("/Course/RubricsEdit", {
   submitdata: function (settings, td) {
    var input = $(td).find('input');
    $(this).validate({ // <-- this is in the wrong place
        rules: {
            'nameofinput': {
                number: true
            }
        },
        messages: {
            'actionItemEntity.name': {
                number: 'Only numbers are allowed'

            }

        }
    })

    return ($(this).valid());
     }
 });

简单演示

我尝试了你的建议,但出现了一个错误:Microsoft JScript运行时错误:对象不支持属性或方法“验证”。我可能缺少什么?@CloudyCooper,我现在明白了为什么会出现错误。关于上次编辑:必须将
.validate()
附加到表单。
$(此)
在您使用过它的地方绝对没有任何意义。请参阅我的JSFIDLE中的代码。
$(“#myformid”).validate()
(部分原因是我在我的操作中盲目地移动代码而没有修复它。)我知道您的代码将如何将验证附加到表单。问题是jeditable会动态创建自己的表单,当我将jeditable字段包装到我自己创建的表单中时,这些字段将不再可编辑。关于上次编辑。您必须将
.validate()
附加到表单。
$(此)
在您使用过它的地方绝对没有任何意义。
$(“#myformid”).validate()