Kendu UI Tabsbstrip视图无法加载jquery验证

时间:2018-02-17 12:45:42

标签: jquery asp.net kendo-ui jquery-validate kendo-tabstrip

使用Kendo UI&Tabstrip时遇到问题。我在tabstrip中有两个选项卡,我想在tabstrip的第一个视图中使用clientside jquery验证。

谷歌浏览器:https://i.stack.imgur.com/bkxAd.png

我有一个View,我在其中加载了tabstrip,在这里我可以渲染脚本以进行验证。

使用制表符查看:https://i.stack.imgur.com/3pguI.png

在我要进行验证的标签中,我无法渲染脚本。

查看验证:https://i.stack.imgur.com/W6riW.png

即使脚本在带有标签的视图中加载,我也无法在第一个标签中使用客户端验证,并且无法在视图中使用验证呈现验证脚本

有人建议解决此问题吗?

我有一个小问题。如果验证在服务器端失败,我如何从控制器返回,并进入选项卡视图?

现在我有:

控制器:https://i.stack.imgur.com/RRDhs.png

我返回一个PartialView,但它填充整个视图而不是仅返回选项卡中的视图。

2 个答案:

答案 0 :(得分:0)

问题的症结在于,当通过AJAX加载时,部分事件会丢失。我们所做的(使用kendo验证)是向处理内容加载的选项卡添加一个事件:

.Events(ev =>
 {
     ev.ContentLoad("onContentLoad")
 })

然后在脚本中重新加载验证:

function onContentLoaded() {
   $("form").kendoValidator();
};

还有另一种jquery验证技术,涉及这样的代码:

function onContentLoaded() {
   // clear validation attributes
   $("form").removeData("validator");
   $("form").removeData("unobtrusiveValidation");
   // add validation attributes back
   $.validator.unobtrusive.parse("form");
};

关于第二个问题,如果验证失败,则返回应该已设置验证属性的部分视图。

答案 1 :(得分:0)

删除@section Scripts {}

解决了这个问题

仅使用@ Scripts.Render(“〜/ bundles / jqueryval”)