更新完善页面
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* 数据验证和清理工具函数
|
||||
* @module services/utils/validators
|
||||
*/
|
||||
|
||||
/**
|
||||
* 清理并验证整数
|
||||
* @param {*} value - 输入值
|
||||
* @param {number} [fallback] - 默认值
|
||||
* @param {number} [min] - 最小值
|
||||
* @param {number} [max] - 最大值
|
||||
* @returns {number|null} 清理后的整数或 null
|
||||
*/
|
||||
function sanitizeInt(value, fallback, min, max) {
|
||||
if (value === undefined || value === null || value === '') return fallback
|
||||
const n = parseInt(value, 10)
|
||||
if (isNaN(n)) return null
|
||||
if (min !== undefined && n < min) return null
|
||||
if (max !== undefined && n > max) return null
|
||||
return n
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理并验证浮点数
|
||||
* @param {*} value - 输入值
|
||||
* @param {number} [fallback] - 默认值
|
||||
* @param {number} [min] - 最小值
|
||||
* @param {number} [max] - 最大值
|
||||
* @returns {number|null} 清理后的浮点数或 null
|
||||
*/
|
||||
function sanitizeFloat(value, fallback, min, max) {
|
||||
if (value === undefined || value === null || value === '') return fallback
|
||||
const n = parseFloat(value)
|
||||
if (isNaN(n)) return null
|
||||
if (min !== undefined && n < min) return null
|
||||
if (max !== undefined && n > max) return null
|
||||
return n
|
||||
}
|
||||
|
||||
/**
|
||||
* 清理并验证字符串
|
||||
* @param {*} value - 输入值
|
||||
* @param {number} [max=255] - 最大长度
|
||||
* @returns {string} 清理后的字符串
|
||||
*/
|
||||
function sanitizeString(value, max = 255) {
|
||||
if (value === undefined || value === null) return ''
|
||||
const s = String(value)
|
||||
return s.length > max ? s.slice(0, max) : s
|
||||
}
|
||||
|
||||
module.exports = { sanitizeInt, sanitizeFloat, sanitizeString }
|
||||
Reference in New Issue
Block a user