【发布时间】:2021-07-20 12:48:28
【问题描述】:
我是后端开发的新手。我正在使用带有 express 和 mongoose 的 nodejs 我已经成功地使用主要包含文本的表单中的数据更新了 mongodb,因此 <input type="text value="abcdefg"> 似乎工作正常。
我有一个属性字段 isActive,我想将其设为布尔值,并且其值为 true 或 false
我试过这样做
<input type="text" value="true">
我认为这是错误的,基于一些谷歌搜索 (https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#boolean-attributes),其中提到 “布尔属性上不允许使用值“true”和“false”。为了表示 false 值,该属性具有完全省略。”..所以我尝试了复选框方法
<input type="checkbox" checked>
但在这里我得到 value = 'on' 并且它仍然在控制台中给我一些错误
messageFormat: undefined,
stringValue: '"on"',
kind: 'Boolean',
value: 'on',
path: 'isActive',
reason: CastError: Cast to boolean failed for value "on" (type string) at path "undefined"
有人可以告诉我如何定义输入字段以在 Mongodb 中获取 true 或 false 值吗?
【问题讨论】:
-
输入类型复选框的
checked属性为您提供布尔值。你不需要value。 -
我没有在其中添加值..
<input type="checkbox" checked>.. 这只是我声明的属性.. 但是在 mongoose/nodejs 中,stringValue 似乎是“on”,如错误..我只想有一个true或false..我不知道如何实现
标签: javascript node.js mongodb express mongoose