Html 敲除验证消息显示为[object]

Html 敲除验证消息显示为[object],html,typescript,knockout.js,knockout-validation,Html,Typescript,Knockout.js,Knockout Validation,使用Knockout,我想控制验证消息在屏幕上的显示位置。当我这样做时,消息显示的不是消息文本,而是[object]。这是我的密码: HTML <input id="inputValue" class="form-control form-control-xs data-bind="validationElement: val"" data-bind="event: { keyup: maskNumber(event) }"

使用Knockout,我想控制验证消息在屏幕上的显示位置。当我这样做时,消息显示的不是消息文本,而是[object]。这是我的密码:

HTML

<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>
我希望底部隐藏输入字段的错误消息显示在顶部可见输入字段的下面

maskNumber函数将实际数字存储在隐藏的“realInputValue”字段中后,将inputValue字段中的每个数字转换为星号(*)

我已经查看并使用了其他资源,但无论我尝试什么,当我尝试使用validationMessage时,我总是将错误消息视为[object object]。当我不使用validationMessage并让错误消息转到其默认位置时,我可以很好地看到错误消息的文本


如何使实际消息显示而不是[对象]?

在深入查看代码后,我发现了问题。包含错误消息的段落不应为

相反,它应该是


本质上,您需要使用
validationText
而不是
validationMessage
。我在文档中的任何地方都没有找到这个。希望这对某人有所帮助。

您的输入验证了什么?正在触发什么验证规则?您是否定义了任何自定义规则?您是否更改了任何默认消息?部分问题可能是第一个输入字段上重复的
数据绑定=
属性。我建议对验证对象执行JSON.stringify以查看其中的内容,您很可能只是打印一个对象,而不是其中的值。同样正如Nathan所说,您在第一次输入中复制了
数据绑定
,这是错误的做法。@JeffMercado我包含了包含验证规则和自定义消息的.ts文件。输入只是用户可以在字段中键入的任何数字。.ts代码是我创建的自定义规则和消息的范围use@NathanFisher我删除了输入上重复的
数据绑定
,仍然得到了[object]。但是,输入位于具有
data bind=“validationElement:val”
的div内部。我删除了div中的数据绑定,问题仍然存在
this.val.extend(
            {
                maxLength: 5,
                minLength: 5,
                required: { message: 'This number is required' },
                pattern: {
                    params: /^\d+$/,
                    message: 'Please enter only numeric digits'
                }
            });