如何在Strapi中设置日期字段的默认值为当日
Strapi 日期字段默认值设为当日的实现步骤
方法一:通过模型配置文件直接设置
- 找到目标内容类型的模型配置文件,路径为
./src/api/[你的内容类型]/models/[你的内容类型].settings.json - 定位到需要设置的日期字段,在其配置项中添加
"default": "$now",示例配置如下:
{ "kind": "collectionType", "collectionName": "posts", "attributes": { "publish_date": { "type": "date", "default": "$now" } } }
- 保存文件后重启Strapi服务,后续新创建条目时,该日期字段会自动填充为当前日期。
方法二:使用生命周期钩子(适配复杂自定义场景)
如果需要处理时区、条件赋值等更灵活的逻辑,可通过生命周期钩子实现:
- 打开对应内容类型的生命周期文件,路径为
./src/api/[你的内容类型]/models/[你的内容类型].js - 在
beforeCreate钩子中编写字段赋值逻辑:
module.exports = { lifecycles: { async beforeCreate(data) { // 仅当字段未手动赋值时,设置为当前日期 if (!data.publish_date) { data.publish_date = new Date(); } }, }, };
- 保存文件后无需重启服务,新创建条目时会自动触发该逻辑。
内容的提问来源于stack exchange,提问作者MH info
相关产品推荐
相关产品推荐

