|
|
|
|
Character validation in FileMaker Pro If you want to check the input into a text field for "forbidden characters" you might find the following hints useful. Create a global text field "g.forbidden.characters". Fill this field with all unwanted ("forbidden") characters. For example, if you want to exclude anything but a...z and A...Z on a German keyboard layout, you would have to enter the following (the first character is a space): 1234567890!"§$%&/()=?`{[]}\´*+~öÖäÄüÜß#',;.:-_<>|@23μ°^
This makes 55 characters in all. The sequence of the characters does not matter. The number of possible unwanted characters on various national keyboards can be even higher so in the following text field validation for the field "t.a.to.z.only" you would have to extend beyond 60 lines:
PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;1;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;2;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;3;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;4;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;5;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;6;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;7;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;8;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;9;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;10;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;11;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;12;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;13;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;14;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;15;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;16;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;17;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;18;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;19;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;20;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;21;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;22;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;23;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;24;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;25;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;26;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;27;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;28;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;29;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;30;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;31;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;32;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;33;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;34;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;35;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;36;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;37;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;38;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;39;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;40;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;41;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;42;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;43;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;44;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;45;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;46;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;47;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;48;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;49;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;50;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;51;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;52;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;53;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;54;1))=0 and PatternCount(t.a.to.z.only;Middle(g.forbidden.characters;55;1))=0This calculation with not discern between upper and lower case though! Checking for the absence of hard returns is even more simple; imagine you want no hard returns in "t.textfield": PatternCount(t.textfield;"¶")=0 Good luck! Back to the list of my FileMaker Pro trouvailles |
![]() |
![]() |
|