promptbackend / utils /validators.js
samlax12's picture
Upload 19 files
4c025e9 verified
const Joi = require('joi');
// 用户验证模式
const userSchema = Joi.object({
username: Joi.string().required().min(3).max(30),
password: Joi.string().required().min(6),
});
// 分类验证模式
const categorySchema = Joi.object({
name: Joi.string().required().min(1).max(30),
color: Joi.string().pattern(new RegExp('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$')),
});
// 提示词验证模式
const promptSchema = Joi.object({
title: Joi.string().required().min(1).max(100),
content: Joi.string().required(),
tags: Joi.array().items(Joi.string()),
});
// 提示词组验证模式
const promptGroupSchema = Joi.object({
name: Joi.string().required().min(1).max(100),
description: Joi.string().allow('', null),
category: Joi.string().pattern(new RegExp('^[0-9a-fA-F]{24}$')),
});
// DSL文件验证模式
const dslFileSchema = Joi.object({
name: Joi.string().required(),
fileData: Joi.string().required(),
mimeType: Joi.string(),
});
module.exports = {
userSchema,
categorySchema,
promptSchema,
promptGroupSchema,
dslFileSchema,
};