array( 'Validate' => array( array( 'Class' => 'Regex', 'Options' => array( 'pattern' => '/[a-zA-Z0-9]*/' ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), /* Basic field types */ 'Array' => array( 'Validate' => array(), 'Options' => array( 'AllowEmpty' => true, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Date' => array( 'Validate' => array( array( 'Class' => 'Date', 'Options' => array( 'format' => 'Y-m-d' ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'DateTime' => array( 'Validate' => array( array( 'Class' => 'Date', 'Options' => array( 'format' => 'Y-m-d H:i:s' ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Email' => array( 'Validate' => array( array( 'Class' => 'EmailAddress', 'Options' => array( 'domain' => false ) ), array( 'Class' => 'StringLength', 'Options' => array( 'max' => 255 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Mobile' => array( 'Validate' => array( array( 'Class' => 'Regex', 'Options' => array( 'pattern' => '/^\+[0-9][0-9][0-9]\d{8}/' ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), /* Specialized field types */ 'Id' => array( 'Validate' => array( array( 'Class' => 'Between', 'Options' => array( 'min' => 1, 'max' => 999999999999 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'Boolean' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array(0, 1, '0', '1', false, true) ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => true, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'Department' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array('New', 'Used') ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'DealerType' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array('Dealer', 'Wholesale / Trader', 'Trade Center') ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'DealerClientType' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array('Buyer', 'Buyer & Seller') ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'CompanyType' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array( 'Limited', 'PTY Limited', 'Closed Corporation', 'Sole Proprietor' ) ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'Position' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array('Manager', 'Valuator', 'Sales') ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'UserType' => array( 'Validate' => array( array( 'Class' => 'InArray', 'Options' => array( 'haystack' => array('User', 'Administrator') ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'hidden' ) ), 'ZaId' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ), array( 'Class' => 'StringLength', 'Options' => array( 'min' => 13, 'max' => 13 ) ) ), 'Options' => array( 'AllowEmpty' => true, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Username' => array( 'Validate' => array( array( 'Class' => 'Regex', 'Options' => array( 'pattern' => '/^(?=.{1,32}$)[a-zA-Z][a-zA-Z0-9]*(?: [a-zA-Z0-9]+)*$/' ) ), array( 'Class' => 'StringLength', 'Options' => array( 'min' => 8, 'max' => 32 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => true ), 'Filter' => array(), 'Display' => array() ), 'Password' => array( 'Validate' => array( array( 'Class' => 'Regex', 'Options' => array( 'pattern' => '/[a-zA-Z0-9]*/' ) ), array( 'Class' => 'StringLength', 'Options' => array( 'min' => 8 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array( 'type' => 'password' ) ), 'IdNumber' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ), array( 'Class' => 'StringLength', 'Options' => array( 'min' => 13, 'max' => 13 ) ) ), 'Options' => array( 'AllowEmpty' => true, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Name' => array( 'Validate' => array( array( 'Class' => 'Regex', 'Options' => array( 'pattern' => '/[a-zA-Z0-9]*/' ) ), array( 'Class' => 'StringLength', 'Options' => array( 'max' => 100 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'PersonName' => array( 'Validate' => array( array( 'Class' => 'Regex', 'Options' => array( 'pattern' => '/[a-zA-Z]*/' ) ), array( 'Class' => 'StringLength', 'Options' => array( 'max' => 150 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'MonthDigit' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ), array( 'Class' => 'StringLength', 'Options' => array( 'min' => 1, 'max' => 12 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Collection' => array( 'Validate' => array(), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Decimal' => array( 'Validate' => array( array( 'I18nClass' => 'IsFloat', 'Options' => array() ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => true, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Integer' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => true, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Digit3' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ), array( 'Class' => 'StringLength', 'Options' => array( 'max' => 3 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => true, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Digit4' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ), array( 'Class' => 'StringLength', 'Options' => array( 'max' => 4 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => true, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'Digit10' => array( 'Validate' => array( array( 'Class' => 'Digits', 'Options' => array() ), array( 'Class' => 'StringLength', 'Options' => array( 'max' => 10 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => true, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String2' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 2 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String10' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 10 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String12' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 12 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String15' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 15 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String20' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 20 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String25' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 25 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String40' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 40 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String42' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 42 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String50' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 50 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String64' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 64 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String75' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 75 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String100' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 100 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String150' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 150 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String250' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 250 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'String500' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 500 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), 'LongText' => array( 'Validate' => array( array( 'Class' => 'StringLength', 'Options' => array( 'max' => 65000 ) ) ), 'Options' => array( 'AllowEmpty' => false, 'AllowZero' => false, 'AllowNull' => false, 'Unique' => false ), 'Filter' => array(), 'Display' => array() ), );