【问题标题】:How to access a property name in Knockout Validation messageTemplate?如何在 Knockout Validation messageTemplate 中访问属性名称?
【发布时间】:2013-09-26 16:41:12
【问题描述】:

我正在使用knockout validation 插件来验证我的视图模型。该插件允许错误消息的自定义模板。我想显示一个工具提示,显示属性值以及模板中的自定义消息。我可以访问在可观察对象上定义的错误,但是如何获取属性的名称?谢谢

<script type="text/html" id="messageValidation">
    <span rel="tooltip" data-bind="if: field.isModified() && !field.isValid(),
    attr: { title: field.name() + ' is required '}"><i class="icon-exclamation-sign red"></i></span>
    <span data-bind="if: field.isModified() && field.isValid()"><i class="icon-ok green"></i></span>
</script>

【问题讨论】:

    标签: knockout.js knockout-validation


    【解决方案1】:

    你得到的只是我害怕的领域

    从源代码

    ko.renderTemplate(config.messageTemplate, { field: valueAccessor() }, null, validationMessageElement, 'replaceNode');
    

    如您所见,您只获得输入

    { field: valueAccessor() }
    

    好在它是开源的,你可以在字面上添加一个新字段,而且代码是落后的,他们应该做的是

    bindingContext.createChildContext({ field: valueAccessor() })
    

    这将确保 $parent、$data、$parentContext 符号在 View 中工作

    【讨论】:

      猜你喜欢
      • 2016-01-07
      • 2021-06-30
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      相关资源
      最近更新 更多