class Attribute:
    def __init__(self, display_name, html_input_type="text", required=False, unique=False, primary=False, regex=None, min=None, max=None, options=None, default_val="", auto_increment=False, index=False, comment="", compareto=None):
        self.display_name = display_name            # Input label or table column header.
        self.html_input_type = html_input_type      # HTML form input type. Determines MySQL data type.
        self.required = required                    # HTML form input "required" attribute and MySQL "Not Null" constraint
        self.unique = unique                        # MySQL "unique" constraint
        self.primary = primary                      # MySQL "primary key" constraint
        self.regex = regex                          # Regex for value validation
        self.min = min                              # HTML form input "min" attribute. Sets minimum value.
        self.max = max                              # HTML form input "max" attribute. Sets maximum value.
        self.options = options                      # List of options for "select" inputs
        self.default_val = default_val              # HTML form input "value" attribute. Sets default value.
        self.auto_increment = auto_increment        # bool: MySQL autoincrement
        self.index = index                          # bool: MySQL index
        self.comment = comment                      # Description text
        self.compareto = compareto                  # Compare to another attribute of the item for validation: ["comparison", "referenceattrib"]