You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+EJS项目网站新建用户后性别字段不显示问题排查

问题根因

表单性别字段的name属性与后端接收字段名不一致:

  • 前端form.ejs中性别单选框的name属性设置为Lytis,提交后对应值挂载在req.body.Lytis下
  • 后端controller.js创建用户时读取的是req.body.gender,未获取到对应值导致数据库中gender字段为空,前端渲染时自然无内容展示
  • Postman调用接口时手动传入了gender字段,因此可以正常存储和展示

修复方案

修改form.ejs中性别单选框的name属性,将两处name="Lytis"替换为name="gender"即可:

<!-- 修改前 -->
<input type="radio" id="radio-2" name="Lytis" value="Vyras">
<input type="radio" id="radio-3" name="Lytis" value="Moteris">

<!-- 修改后 -->
<input type="radio" id="radio-2" name="gender" value="Vyras">
<input type="radio" id="radio-3" name="gender" value="Moteris">

(可选优化)可以在性别单选框上添加required属性,或者在后端controller层补充gender字段的非空校验,避免用户未选择性别时提交空值。

内容的提问来源于stack exchange,提问作者Sidas Vidūnas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:36:03