我没有使用 Knockout Validation,我正在尝试了解可以用它做什么。
我试图弄清楚当出现错误时是否可以在输入标签的右侧显示图标而不是错误消息。而且,如果用户将鼠标悬停在图标上,则会显示错误消息。
有没有人这样做或知道如何做到这一点?
谢谢。
编辑:(我正在尝试做的更详细的示例)
假设我的视图模型中有以下内容:
var firstName = ko.observable().extend({required: true});
我的 HTML:
<input data-bind="value: firstName" />
我的理解是,如果名字文本框留空,那么(默认情况下)一些文本将显示在文本框的右侧,说明该字段是必需的。
我想了解的是如何将在右侧显示错误文本的默认行为更改为在右侧显示一个图标,当将鼠标悬停在该图标上时,将弹出错误消息。
所以,开始会是这样的:
<div data-bind="validationOptions: {messageTemplate: 'myCustomTemplate'}">
<input data-bind="value: firstName" />
<input data-bind="value: lastName" /> //also required
</div>
<div id='myCustomTemplate'>
//This icon should only display when there is an error
<span class="ui-icon ui-icon-alert" style="display: inline-block"/>
//css/javascript would display this when user hovers over the above icon
<span data-bind="validationMessage: field" />
</div>
我不知道我是否正确使用了 messageTemplate 功能。我也不知道在 customTemplate 中将文本绑定到什么,以便为每个错误显示正确的错误消息。IOW、firstname 和 lastname 可能有自定义错误消息。如果他们都使用相同的模板,模板如何容纳自定义错误消息?
我希望这是有道理的。