/ / ¿Cómo crear la validación de salesforce para el tiempo usando REGEX? - expresiones regulares, validación, fuerza de ventas

¿Cómo crear validación de Salesforce por tiempo usando REGEX? - regex, validación, fuerza de ventas

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 № 1

La 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"))