Estoy construyendo un sitio web vue usando cordura como backend. En lugar de reescribir URLS en el enrutador, quiero tener un patrón en cordura donde las babosas solo deben ser letras minúsculas, así que,
this-is-a-slug-123 sería válido pero THIS-is-A-slug-123 no sería válido, quiero hacer esta verificación como parte de la validación de slug para evitar que las personas puedan guardar páginas con slugs no válidos .
Sanity solo tiene las reglas de validación required o custom disponibles para el tipo slug. ¿Cómo puedo validar que el slug solo usa caracteres en minúsculas?
Podría incorporar una función de validación personalizada que verifique contra una expresión regular:
validation: (Rule) => Rule.required().custom((slug) => { if (typeof slug === "undefined") return true const regex = /(^[a-z0-9-]+$)/ // Regex pattern goes here if (regex.test(slug.current)) { return true } else { return "Invalid slug: Only numbers, lowercase letters, and dashes are permitted." // Error message goes here } }),Esto solo validaría slugs que contengan letras minúsculas, guiones y números. La expresión regular podría elaborarse para tener en cuenta los guiones dobles, etc., pero espero que esto sea un comienzo.