淘汰验证 - 配置位置(顶部或底部)跨度错误

时间:2015-07-03 14:36:30

标签: javascript knockout.js knockout-validation

如何将范围验证消息配置为在元素之上或之下? 目前,他总是在元素下面创建。

修改

Sample jsfiddle

步骤:

  1. 点击按钮
  2. 检查名字输入
  3. 查看该范围低于输入。

    HTML

    <input type="text" data-bind="textInput: firstName">
    <span class="validationMessage">This field is required.</span>
    

    是否可以在淘汰赛验证插件中配置位置?

2 个答案:

答案 0 :(得分:2)

您可以使用 validationMessage 绑定提供自己的标记并关闭插入的消息。

<div class="row">
    <p class="validationMessage" data-bind="validationMessage: firstName"></p>
    <label>First name:</label>
    <input type="text" data-bind="textInput: firstName" />
</div>
<button type="button" data-bind='click: submit'>Click me</button>

ko.validation.init({
    registerExtenders: true,
    messagesOnModified: true,
    insertMessages: false,
    parseInputAttributes: true,
    messageTemplate: null
}, true);

检查更新后的fiddle

答案 1 :(得分:0)

我的临时解决方案:

重写InsertValidationMessage。

$ko.validation.insertValidationMessage = function (element) {
    var span = document.createElement('SPAN');
    span.className = "validationMessage";
    element.parentNode.insertBefore(span, element);
    return span;
};

This functionality已经在Knockout验证团队的计划中。

Fiddle