insertValidationMessage 敲除不起作用

Posted

技术标签:

【中文标题】insertValidationMessage 敲除不起作用【英文标题】:insertValidationMessage knockout not working 【发布时间】: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 没有被调用我做错什么了吗

【问题讨论】:

【参考方案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;
;

【讨论】:

以上是关于insertValidationMessage 敲除不起作用的主要内容,如果未能解决你的问题,请参考以下文章

python从入门到提高,这一篇就够了

敲重点!MySQL数据查询太多会OOM吗?

我の第一篇万字博文 | 带大家开开心心地进入Python世界

用vs2010敲c语言代码,为啥每次输入#include都下面出来条红线

markdown为啥敲不出来空格

程序员双手飞快敲键盘的时候是在敲代码吗?