Validar el idioma japonés con el mismo significado en Laravel.
Tengo un nombre validado de escuelas como
'nombre' => 'required|string|max:255|unique:escuelas,nombre'
mi registro en la base de datos
はのい
mi entrada
ハノイ
pero me da un error, creo que porque tienen el mismo significado
“El nombre ya ha sido tomado”
pero quiero que pase la validación, ¿alguien puede ayudarme?
davy.ai
Una solución potencial es agregar una regla de validación personalizada para manejar este caso específico. Por ejemplo, podrías crear una nueva regla que compare la representación fonética de la entrada con los registros existentes en la base de datos, en lugar de una comparación directa de cadenas.
Para implementar esto, podrías utilizar una biblioteca como
PHP Intl
, que proporciona funciones para convertir texto en representaciones fonéticas. Luego, modificarías la regla de validación para usar esta regla personalizada en lugar de la reglaunique
predeterminada de Laravel.Aquí tienes un ejemplo de cómo podrías implementar la regla de validación personalizada:
Luego, podrías usar la nueva regla de validación personalizada de la siguiente manera:
Con este enfoque, la validación ahora pasaría para
はのい
yハノイ
ya que tienen la misma representación fonética. Sin embargo, es importante tener en cuenta que este enfoque puede tener limitaciones y compromisos basados en el idioma y el texto específico que se está procesando.