Estoy tratando de construir una especie de tarjeta perforada / sistema de programación en Salesforce. He llegado tan lejos como para obtener un "flujo de trabajo visual" para crear múltiples registros con una sola pantalla de entrada.
Ahora necesito hacerlo a prueba de idiotas agregando una regla de validación REGEX que obligue a que se ingrese la hora en un solo formato (HH: MM am / pm) .
Encontré esta pieza de REGEX para SLQ
((([0]?[1-9]|1[0-2])(:|.)[0-5][0-9]((:|.)[0-5][0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|.)[0-5][0-9]((:|.)[0-5][0-9])?))
(Quité el ^ al principio y el $ al final)
Pero al entrar en Salseforce me sale un error.
La expresión de la fórmula no es válida: error de sintaxis. Encontró "[".
Cualquier ayuda sería muy apreciada. (Perdón si esto duró un poco)
Respuestas
2 para la respuesta № 1La expresión regular publicada allí tiene la intención de manejar muchos formatos diferentes de tiempo. Parece que su objetivo es ser un poco menos flexible, así que tal vez una mejor expresión regular para usted sería algo más simple como
[0-1]?[0-9]:[0-5][0-9] [A|P]M"
Esto permitiría tiempos como
09:08 PM
12:49 a.m.
1:32 pm
pero no permitiría cosas como
23:42
23:42 PM
1:09 pm
En general, con regex es mejor comenzar con algo simple como este y luego expandirlo.
Ahora, debido a que desea usar esto en una regla de validación, debe recordar que desea que esta regla se active cuando la expresión regular doesn t coincidencia (porque es "s cuando quieres lanzar un error, cuando alguien ha ingresado un formato de hora no válido). Así que tu regla realmente se verá como
NOT(REGEX( Time__c , "[0-1]?[0-9]:[0-5][0-9] [A|P]M"))