淘汰验证和Twitter Bootstrap错误CSS

时间:2012-08-31 21:13:40

标签: twitter-bootstrap knockout.js

我正在尝试在此编辑器中集成knockout验证和twitter bootstrap:http://jsfiddle.net/casudeo/Jbp7y/18

我想将twitter bootstrap的css用于输入错误。要做到这一点,我需要以某种方式“向上”到控制组div并为其添加“错误”类。有没有办法在不修改css文件的情况下实现这一目标?

由于dominik的评论如下: 1)单击“添加”按钮添加新项目。 2)尝试使用空值保存。 3)KO验证将捕获无效输入。但是,我还想应用“错误”css类来突出显示无效字段。

1 个答案:

答案 0 :(得分:7)

这是一个更新的小提琴:http://jsfiddle.net/jearles/Jbp7y/147/

HTML

<div><button data-bind="click: clickMe">Click Me!</button></div>

JS

var ViewModel = function() {
    var self = this;
    self.clickMe = function(data,event) {
      var target;

      if (event.target) target = event.target;
      else if (event.srcElement) target = event.srcElement;

      if (target.nodeType == 3) // defeat Safari bug
        target = target.parentNode;

      target.parentNode.innerHTML = "something";
    }
}

ko.applyBindings(new ViewModel());

我改变的事情:

  1. 将'validationElement'绑定添加到control-group divs
  2. 在检测到错误时添加对'showAllMessages()'的调用
  3. 确保将errorElementClass配置设置为“error”