通过敲除验证进行验证

Jua*_*mba 1 knockout-validation

使用knockout.js(和敲除验证)我有这个:

self.nickname = ko.observable("").extend({
    required: true,
    minLength: 3
});
Run Code Online (Sandbox Code Playgroud)

<input type="text" data-bind="value: nickname" class="short" maxlength="30" />
<div class="formRow rowErrorMsg" data-bind="visible: nickname.isValid() == false"><span class="staticImages staticImagesError"></span> <?php text("Enter a valid username") ?></div>
Run Code Online (Sandbox Code Playgroud)

但问题是,当"昵称"无效时,请在输入控件旁边输入一个文本.带有错误消息的DIV开始可见,然后正常工作.

我需要这样做:

  1. 当"昵称"无效时,只需使用我的自定义消息和格式显示DIV.
  2. 当页面加载时,DIV必须保持隐藏状态.

del*_*xfe 10

您需要配置knockout-validation以不显示错误消息.有两种方法.

首先是通过绑定:

<div data-bind='validationOptions: { insertMessages: false }'>
    <input type="text" data-bind="value: nickname" class="short" maxlength="30" />
    <div class="formRow rowErrorMsg" data-bind="visible: nickname.isValid() == false">
</div>
Run Code Online (Sandbox Code Playgroud)

第二个是通过代码:

  • 使用该ko.validation.init({ insertMessages: false });功能
  • 使用ko.applyBindingsWithValidation(viewModel, rootNode, { insertMessages: false });函数**contextual

有关所有配置选项的说明,请访问:https://github.com/ericmbarnard/Knockout-Validation/wiki/Configuration

如果您有许多字段需要验证,则可以使用messageTemplate模板而不是手动创建所有errorMessage div.