Strapi导航国际化问题:无法保存纯中文字符
1. 检查并修改字段验证规则
- 进入Strapi后台,打开插件设置中的Navigation配置,找到菜单项名称对应的字段(通常是
label),查看其验证规则。如果设置了matches正则表达式(比如仅允许英文字母、数字),将正则修改为支持中文字符的规则,例如:^[\u4e00-\u9fa5a-zA-Z0-9\s-]+$ - 若验证规则是插件自带的默认限制,需修改插件代码:
- 后端:找到
node_modules/@strapi/plugin-navigation/server/controllers/navigation.js,定位字段验证逻辑,更新正则表达式以包含中文字符范围\u4e00-\u9fa5 - 前端:找到
node_modules/@strapi/plugin-navigation/admin/src/components/MenuItemForm/MenuItemForm.js,修改表单字段的验证正则,确保支持中文输入
- 后端:找到
2. 重建Admin面板并重启服务
- 执行命令重新构建Admin界面:
npm run build - 重启Strapi服务,测试纯中文菜单项名称是否可正常保存
3. 更新插件到最新版本
如果使用的是旧版Navigation插件,该问题可能是已知bug,尝试更新插件到最新版本:
npm update @strapi/plugin-navigation
4. 排查全局验证规则
检查Strapi全局的内容类型验证配置,确认是否有自定义规则限制了导航字段的输入字符范围。
内容的提问来源于stack exchange,提问作者ZackChim
相关产品推荐
相关产品推荐

