【问题标题】:insertValidationMessage knockout not workinginsertValidationMessage 敲除不起作用
【发布时间】:2014-06-10 21:14:36
【问题描述】:

我正在使用淘汰赛验证我想通过我自己的函数显示自定义消息 这是我的 ko 验证代码

  ko.validation.init({

   // registerExtenders: true,
    messagesOnModified: false,
    insertMessages: true,
    parseInputAttributes: true,
    messageTemplate: null,
    grouping: { deep: true, observable: true },
    registerExtenders: true,
    insertValidationMessage: function (element) {

        var span = document.createElement('SPAN');
        span.className = "validationMessage";

        if ($(element).hasClass("error-before"))
            element.parentNode.insertBefore(span, element);
        else
            element.parentNode.insertBefore(span, element.nextSibling);

        return span;
    }
});

但是 insertvalidationmessage 没有被调用我做错什么了吗

【问题讨论】:

    标签: jquery knockout.js knockout-validation


    【解决方案1】:

    init 方法只支持覆盖配置属性,所以如果你想覆盖方法,你需要直接在 ko.validation 对象上进行。

    所以你的初始化代码应该是这样的:

    ko.validation.init({
       // registerExtenders: true,
        messagesOnModified: false,
        insertMessages: true,
        parseInputAttributes: true,
        messageTemplate: null,
        grouping: { deep: true, observable: true },
        registerExtenders: true
    });
    
    ko.validation.insertValidationMessage = function (element) {
    
        var span = document.createElement('SPAN');
        span.className = "validationMessage";
    
        if ($(element).hasClass("error-before"))
           element.parentNode.insertBefore(span, element);
        else
           element.parentNode.insertBefore(span, element.nextSibling);
    
        return span;
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 2015-06-05
      • 1970-01-01
      • 2014-09-22
      • 2014-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多