使用Knockout,我想控制验证消息出现在屏幕上的位置。当我这样做时,消息将显示对象对象,而不是显示消息文本。这是我的代码:
<input id="inputValue" class="form-control form-control-xs data-bind="validationElement: val""
data-bind="event: { keyup: maskNumber(event) }"
placeholder="Enter Secret Number"
/>
<p class="validationMessage" data-bind="validationMessage: val"></p>
@*hidden input to store field to store real value*@
<span >
"<input id="realInputValue" type="hidden" data-bind="validationOptions: {insertMessages: false}, value: val" />
</span>TS
this.val.extend(
{
maxLength: 5,
minLength: 5,
required: { message: 'This number is required' },
pattern: {
params: /^\d+$/,
message: 'Please enter only numeric digits'
}
});我希望底部隐藏输入字段的错误信息出现在顶部的可见输入字段下面。
maskNumber函数在将实际数字存储在隐藏的"realInputValue“字段之后,将inputValue字段中的每个数字转换为星号(*)。
我看过这个例子,使用过文献资料和其他资源,但无论我尝试了什么,在尝试使用validationMessage时,我都会将错误消息视为对象。当我不使用validationMessage并让错误消息进入其默认位置时,我可以看到错误消息的文本。
如何使实际消息而不是对象对象出现?
发布于 2020-01-13 17:37:58
在深入研究了代码之后,我发现了这个问题。包含错误消息的段落不应该是<p class="validationMessage" data-bind="validationMessage: val"></p>。
相反,它应该是<p class="validationMessage" data-bind="validationText: val"></p>。
本质上,您需要使用validationText而不是validationMessage。我在文档中没有找到这个。希望这能帮上忙。
https://stackoverflow.com/questions/59582998
复制相似问题