This is some of the TextMate tab triggers I am currently using for the form class... hopefully you will be able to edit them to cover all of the field types
Alternativly, you can download my TextMate bundle, which is full of examples.
For the text snippet:
\$fld${1:Name} = new formFieldText(\$form, '${1/([^\b])([A-Z])/$1 \l$2/g}');\$fld${1}->setMinLength('Your${1/[A-Z]/ \l$0/g} is required.', 1);\$fld${1}->setMaxLength('Your${1/[A-Z]/ \l$0/g} cannot be longer than XXX characters.', 250);$0
For the date snippet:
\$fld${1:DateOfBirth} = new formFieldDate(\$form, '${1/([^\b])([A-Z])/$1 \l$2/g}');\$fld${1}->setInvalidError('Your${1/[A-Z]/ \l$0/g} does not appear to be correct.');\$fld${1}->setRequiredError('Your${1/[A-Z]/ \l$0/g} is required.');\$fld${1}->setMaxDate('Your${1/[A-Z]/ \l$0/g} cannot be set in the future.', time());$0
For the field snippet:
<div class="row<?= (\$fld${1:Name}->hasError() ? ' error' : '') ?>"> <span class="label"><?= \$fld${1}->getHtmlLabel() ?></span> <span class="input"><?= \$fld${1}->getHtmlField() ?></span></div>field$0
Thank you for looking at this code, any feedback would be greatly appreciated. If you would like to use this code, please read the licence it is released under.