public static function renderField($name, $label, $type, $validationRules, $errorHandlers, $meta)
    {
        $objField = null;
        switch ($type) {
            case static::VFORM_STRING:
            case static::VFORM_WORD:
            case static::VFORM_EMAIL:
            case static::VFORM_URL:
            case static::VFORM_SIMPLEURL:
            case static::VFORM_CUSTOM:
            case static::VFORM_CURRENCY:
            case static::VFORM_DATE:
            case static::VFORM_NUMERIC:
            case static::VFORM_INTEGER:
                $objField = new Text($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_PASSWORD:
                $objField = new Password($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_HTML:
            case static::VFORM_CUSTOM_TEXT:
            case static::VFORM_TEXT:
                $objField = new Textarea($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_FILE:
                $objField = new File($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_BOOLEAN:
                $objField = new Checkbox($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_RADIO_LIST:
            case static::VFORM_CHECK_LIST:
                $objField = new Group($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_SELECT_LIST:
                $objField = new Select($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
            case static::VFORM_HIDDEN:
                $objField = new Hidden($name, $type, $meta);
                break;
            default:
                $objField = new Element($name, $type, $label, $validationRules, $errorHandlers, $meta);
                break;
        }

        return $objField;
    }