/ / Как да създадете валидиране на продажбите за време с помощта на REGEX? - регекс, валидиране, търговска сила

Как да създадете валидиране на продажбите за известно време с помощта на REGEX? - регенерация, валидиране, продажби

Опитвам се да изградя нещо като система за перфориране / планиране в Salesforce. Достигнах до получаването на "визуален работен поток" за създаване на множество записи с помощта на един входен екран.

Сега трябва да го направя идиотски, като добавя правило за валидиране на REGEX, принуждаващо времето да бъде въведено в един формат (HH: MM am / pm) .

Намерих това парче от REGEX за 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])?))

(Премахнах ^ в началото и $ в края)

Но когато го въведех в Salseforce, получих грешка

Изразът на формулата е невалиден: Синтаксична грешка. Намерено „[“.

Всяка помощ ще бъде високо оценена. (Съжалявам, ако това продължи малко)

Отговори:

2 за отговор № 1

Регексът, публикуван там, е предназначен да обработва много различни формати от време. Изглежда, че целта ви е да бъдете малко по-малко гъвкави, така че може би по-добър регекс за вас би бил нещо по-просто като

[0-1]?[0-9]:[0-5][0-9] [A|P]M"

Това би позволило времена като

09:08 ч

12:49 ч

13:32

но би забранил неща като

23:42

23:42 ч

13:09

Като цяло с регулярно изражение е най-добре да започнете с нещо просто като това и след това да го разширите.

Сега, тъй като искате да използвате това в правило за валидиране, трябва да запомните, че искате това правило да се активира, когато регексът неотворено "т съвпадение (защото това е, когато искате да хвърлите грешка, когато някой е въвел невалиден формат на времето). Така че вашето правило всъщност ще изглежда като

NOT(REGEX( Time__c , "[0-1]?[0-9]:[0-5][0-9] [A|P]M"))