Magento EAV framework is very promising, but not easy to understand. When the code is mixed with typos, it becomes even more confusing.
Mage_Catalog_Model_Resource_Eav_Mysql4_Setup provides a template for setting up an attribute.
'name' => array( 'type' => 'varchar', 'backend' => '', 'frontend' => '', 'label' => 'Name', 'input' => 'text', 'class' => '', 'source' => '', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'visible' => true, 'required' => true, 'user_defined' => false, 'default' => '', 'searchable' => false, 'filterable' => false, 'comparable' => false, 'visible_on_front' => false, 'unique' => false, )
However, ‘class’ is wrong. It should be ‘frontend_class’. It refers to DOM class attribute assigned to this entity attribute output html. It can be used for value validation before submission. The possible classes can be found in js/prototype/validation.js. But frontend_class can be set anything you like for css styling or other purposes.