4 /* Default parameters to use if no valid field type is requested */
10 'pattern' => '/[a-zA-Z0-9]*/'
15 'AllowEmpty' => false,
24 /* Basic field types */
26 'Validate' => array(),
47 'AllowEmpty' => false,
61 'format' => 'Y-m-d H:i:s'
66 'AllowEmpty' => false,
78 'Class' => 'EmailAddress',
84 'Class' => 'StringLength',
91 'AllowEmpty' => false,
105 'pattern' => '/^\+[0-9][0-9][0-9]\d{8}/'
110 'AllowEmpty' => false,
111 'AllowZero' => false,
112 'AllowNull' => false,
119 /* Specialized field types */
123 'Class' => 'Between',
126 'max' => 999999999999
131 'AllowEmpty' => false,
132 'AllowZero' => false,
133 'AllowNull' => false,
145 'Class' => 'InArray',
147 'haystack' => array(0, 1, '0', '1', false, true)
152 'AllowEmpty' => false,
154 'AllowNull' => false,
163 'Department' => array(
166 'Class' => 'InArray',
168 'haystack' => array('New', 'Used')
173 'AllowEmpty' => false,
174 'AllowZero' => false,
175 'AllowNull' => false,
184 'DealerType' => array(
187 'Class' => 'InArray',
189 'haystack' => array('Dealer', 'Wholesale / Trader', 'Trade Center')
194 'AllowEmpty' => false,
195 'AllowZero' => false,
196 'AllowNull' => false,
204 'DealerClientType' => array(
207 'Class' => 'InArray',
209 'haystack' => array('Buyer', 'Buyer & Seller')
214 'AllowEmpty' => false,
215 'AllowZero' => false,
216 'AllowNull' => false,
225 'CompanyType' => array(
228 'Class' => 'InArray',
231 'Limited', 'PTY Limited',
232 'Closed Corporation', 'Sole Proprietor'
238 'AllowEmpty' => false,
239 'AllowZero' => false,
240 'AllowNull' => false,
252 'Class' => 'InArray',
254 'haystack' => array('Manager', 'Valuator', 'Sales')
259 'AllowEmpty' => false,
260 'AllowZero' => false,
261 'AllowNull' => false,
273 'Class' => 'InArray',
275 'haystack' => array('User', 'Administrator')
280 'AllowEmpty' => false,
281 'AllowZero' => false,
282 'AllowNull' => false,
298 'Class' => 'StringLength',
306 'AllowEmpty' => true,
307 'AllowZero' => false,
308 'AllowNull' => false,
320 'pattern' => '/^(?=.{1,32}$)[a-zA-Z][a-zA-Z0-9]*(?: [a-zA-Z0-9]+)*$/'
324 'Class' => 'StringLength',
332 'AllowEmpty' => false,
333 'AllowZero' => false,
334 'AllowNull' => false,
346 'pattern' => '/[a-zA-Z0-9]*/'
350 'Class' => 'StringLength',
357 'AllowEmpty' => false,
358 'AllowZero' => false,
359 'AllowNull' => false,
375 'Class' => 'StringLength',
383 'AllowEmpty' => true,
384 'AllowZero' => false,
385 'AllowNull' => false,
397 'pattern' => '/[a-zA-Z0-9]*/'
401 'Class' => 'StringLength',
408 'AllowEmpty' => false,
409 'AllowZero' => false,
410 'AllowNull' => false,
417 'PersonName' => array(
422 'pattern' => '/[a-zA-Z]*/'
426 'Class' => 'StringLength',
433 'AllowEmpty' => false,
434 'AllowZero' => false,
435 'AllowNull' => false,
442 'MonthDigit' => array(
449 'Class' => 'StringLength',
457 'AllowEmpty' => false,
458 'AllowZero' => false,
459 'AllowNull' => false,
466 'Collection' => array(
467 'Validate' => array(),
469 'AllowEmpty' => false,
470 'AllowZero' => false,
471 'AllowNull' => false,
481 'I18nClass' => 'IsFloat',
486 'AllowEmpty' => false,
488 'AllowNull' => false,
503 'AllowEmpty' => false,
505 'AllowNull' => false,
519 'Class' => 'StringLength',
526 'AllowEmpty' => false,
528 'AllowNull' => false,
542 'Class' => 'StringLength',
549 'AllowEmpty' => false,
551 'AllowNull' => false,
565 'Class' => 'StringLength',
572 'AllowEmpty' => false,
574 'AllowNull' => false,
584 'Class' => 'StringLength',
591 'AllowEmpty' => false,
592 'AllowZero' => false,
593 'AllowNull' => false,
603 'Class' => 'StringLength',
610 'AllowEmpty' => false,
611 'AllowZero' => false,
612 'AllowNull' => false,
622 'Class' => 'StringLength',
629 'AllowEmpty' => false,
630 'AllowZero' => false,
631 'AllowNull' => false,
641 'Class' => 'StringLength',
648 'AllowEmpty' => false,
649 'AllowZero' => false,
650 'AllowNull' => false,
660 'Class' => 'StringLength',
667 'AllowEmpty' => false,
668 'AllowZero' => false,
669 'AllowNull' => false,
679 'Class' => 'StringLength',
686 'AllowEmpty' => false,
687 'AllowZero' => false,
688 'AllowNull' => false,
698 'Class' => 'StringLength',
705 'AllowEmpty' => false,
706 'AllowZero' => false,
707 'AllowNull' => false,
717 'Class' => 'StringLength',
724 'AllowEmpty' => false,
725 'AllowZero' => false,
726 'AllowNull' => false,
736 'Class' => 'StringLength',
743 'AllowEmpty' => false,
744 'AllowZero' => false,
745 'AllowNull' => false,
755 'Class' => 'StringLength',
762 'AllowEmpty' => false,
763 'AllowZero' => false,
764 'AllowNull' => false,
774 'Class' => 'StringLength',
781 'AllowEmpty' => false,
782 'AllowZero' => false,
783 'AllowNull' => false,
790 'String100' => array(
793 'Class' => 'StringLength',
800 'AllowEmpty' => false,
801 'AllowZero' => false,
802 'AllowNull' => false,
809 'String150' => array(
812 'Class' => 'StringLength',
819 'AllowEmpty' => false,
820 'AllowZero' => false,
821 'AllowNull' => false,
828 'String250' => array(
831 'Class' => 'StringLength',
838 'AllowEmpty' => false,
839 'AllowZero' => false,
840 'AllowNull' => false,
847 'String500' => array(
850 'Class' => 'StringLength',
857 'AllowEmpty' => false,
858 'AllowZero' => false,
859 'AllowNull' => false,
869 'Class' => 'StringLength',
876 'AllowEmpty' => false,
877 'AllowZero' => false,
878 'AllowNull' => false,