Опитвам се да изградя нещо като система за перфориране / планиране в 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"))