【问题标题】:Kendu UI Tabsbstrip views can't load jquery validationKendu UI Tabsbstrip视图无法加载jquery验证
【发布时间】:2018-02-17 12:45:41
【问题描述】:

我在使用 Kendo UI 的 Tabstrip 时遇到问题。我在标签条中有两个标签,我想在标签条的第一个视图中使用客户端 jquery 验证。

谷歌浏览器:

我有一个加载标签条的视图,在这里我可以渲染脚本以进行验证。

使用标签条查看:

在我要进行验证的选项卡中,我无法呈现脚本。

查看并验证:

即使脚本已加载到带有标签条的视图中,我也无法让客户端验证在第一个选项卡中工作,也无法在带有验证的视图中呈现验证脚本。

有人有解决此问题的建议吗?

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

现在我有:

控制器:

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

【问题讨论】:

  • 请从发布实际代码开始,而不是图片或代码截图。为什么不赞成这种做法应该很明显。

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


【解决方案1】:

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

.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");
};

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

【讨论】:

    【解决方案2】:

    通过删除@section Scripts 解决了这个问题{}

    只使用了@Scripts.Render("~/bundles/jqueryval")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多