knockout验证消息显示两次?

时间:2014-10-09 07:38:54

标签: jquery knockout.js knockout-validation

我习惯使用敲除验证插件进行验证,突然间我遇到了一个我无法摆脱的问题。

Html onLoad:

<input class="form-control" type="text" data-bind="value:$data.Name"/>
<span class="required" style="display: none;"></span>
<span class="required" style="display: none;"></span>

视图模型:

function details() {
    var self =this;
    self.Name = ko.observable("");
    self.Validation = ko.validatedObservable([
        self.Name.extend({ number: true })
    ]);
}

当我删除self.Name.extend时,我获得no span标记onLoad,但如果我保留它,那么我会得到两个span标记,因此我会得到同样的错误消息,显示两次受控{{1} }&amp; this field is required

我还调试并检查了该功能仅执行一次。

我提到了this,但我无法解决我的问题。

我希望有人能够说明这个问题。

1 个答案:

答案 0 :(得分:3)

Hsakarp在发布有价值的评论here

时的积分

我的部分页面之一是使用knockout validation.js引用的,我的主布局页面中有相同的验证文件。我没有注意到我的同事添加的脚本文件。

最后,我试图看到View Source然后我清楚地看到有两个同类型的淘汰验证脚本文件。所以我删除了部分视图中包含的其中一个修复了我的问题。