【问题标题】:Knockout - validation showing same error message twice淘汰赛 - 验证两次显示相同的错误消息
【发布时间】:2014-04-19 10:40:41
【问题描述】:

我正在使用敲除验证插件来验证一个简单的表单字段,验证正在工作,但它在文本框下方两次显示相同的错误消息。

我的代码如下
JS 视图模型

    $(document).ready(function () {
   ko.validation.registerExtenders();
    ko.validation.configure({
        registerExtenders: true,
        messagesOnModified: false,
        insertMessages: false,
        parseInputAttributes: true,
        messageTemplate: null
    });
    ko.validation.init();

    var vm = new viewmodel();
    ko.applyBindings(vm, document.getElementById("div"));
});
that.formField= ko.observable(vm.formField).extend({ required:  true, minLength: 5, maxLength: 50 });


**html**

    <p>
       <label class="field-label">Who provides your service?</label>
        <input name="txtService" id="txtInsservice"  data-bind="value: formField, valueUpdate: 'keyup'" class="field-stretch" type="text" maxlength="50" /> 
            </p>

这有什么问题吗?

【问题讨论】:

  • 请确保您没有进行两次引用。例如页面中的一个和母版页中的一个。这可能会导致您遇到此问题。
  • @Hsakarp 我正在布局页面中应用这个验证插件脚本(使用 asp.net MVC)。我检查了渲染页面的来源,只有一个脚本参考。
  • 嘿,我也面临这个问题,以防你以某种方式摆脱它,你可以发布你的答案

标签: javascript jquery validation knockout.js


【解决方案1】:

您应该将验证选项放在 html 或 javascript 中。在这里,你正在做这两件事。 我建议只将它们放到 javascript 中,然后像这样从 html 中删除它们:

<input name="txtService" id="txtInsservice"  data-bind="value: formField, valueUpdate: 'keyup'" class="field-stretch" type="text" /> 

【讨论】:

    【解决方案2】:

    问题可能是你在 js 文件下面调用了 2 次​​p>

    knockout.validation.js

    【讨论】:

      猜你喜欢
      • 2014-12-04
      • 1970-01-01
      • 2012-08-19
      • 2014-02-11
      • 2012-09-05
      • 2014-05-28
      • 2013-08-29
      • 2013-05-28
      • 1970-01-01
      相关资源
      最近更新 更多