tududi/backend/utils/validation.js
2025-08-06 19:49:27 +03:00

34 lines
907 B
JavaScript

function validateTagName(name) {
if (!name || !name.trim()) {
return { valid: false, error: 'Tag name is required' };
}
const trimmedName = name.trim();
// Check for invalid characters that can break URLs or cause issues
const invalidChars = /[#%&{}\\<>*?/$!'":@+`|=]/;
if (invalidChars.test(trimmedName)) {
return {
valid: false,
error: 'Tag name contains invalid characters. Please avoid: # % & { } \\ < > * ? / $ ! \' " : @ + ` | =',
};
}
// Check length limits
if (trimmedName.length > 50) {
return {
valid: false,
error: 'Tag name must be 50 characters or less',
};
}
if (trimmedName.length < 1) {
return { valid: false, error: 'Tag name cannot be empty' };
}
return { valid: true, name: trimmedName };
}
module.exports = {
validateTagName,
};