Class Summary HTML_QuickForm_date

Class Summary HTML_QuickForm_date – Class for a group of elements used to input dates (and times).

Description

The element is basically a group of <select>s that allow to input dates and times.

Class Trees for HTML_QuickForm_date

HTML_QuickForm_date Inherited Methods

Inherited from HTML_QuickForm_group
Method Name Summary
Constructor HTML_QuickForm_group::HTML_QuickForm_group() Class constructor
HTML_QuickForm_group::accept() Accepts a renderer
HTML_QuickForm_group::exportValue() As usual, to get the group's value we access its elements and call
HTML_QuickForm_group::getElementName() Returns the element name inside the group such as found in the html form
HTML_QuickForm_group::getElements() Gets the grouped elements
HTML_QuickForm_group::getFrozenHtml() Returns the value of field without HTML tags
HTML_QuickForm_group::getGroupType() Gets the group type based on its elements Will return 'mixed' if elements contained in the group are of different types.
HTML_QuickForm_group::getName() Returns the group name
HTML_QuickForm_group::getValue() Returns the value of the group
HTML_QuickForm_group::onQuickFormEvent() Called by HTML_QuickForm whenever form event is made on this element
HTML_QuickForm_group::setElements() Sets the grouped elements
HTML_QuickForm_group::setName() Sets the group name
HTML_QuickForm_group::setValue() Sets values for group's elements
Inherited from HTML_QuickForm_element
Method Name Summary
Constructor HTML_QuickForm_element::HTML_QuickForm_element() Class constructor
HTML_QuickForm_element::accept() Accepts a renderer
HTML_QuickForm_element::apiVersion() Returns the current API version
HTML_QuickForm_element::exportValue() Returns a 'safe' element's value
HTML_QuickForm_element::freeze() Freeze the element so that only its value is returned
HTML_QuickForm_element::getFrozenHtml() Returns the value of field without HTML tags
HTML_QuickForm_element::getLabel() Returns display text for the element
HTML_QuickForm_element::getName() Returns the element name
HTML_QuickForm_element::getType() Returns element type
HTML_QuickForm_element::getValue() Returns the value of the form element
HTML_QuickForm_element::isFrozen() Returns whether or not the element is frozen
HTML_QuickForm_element::onQuickFormEvent() Called by HTML_QuickForm whenever form event is made on this element
HTML_QuickForm_element::setLabel() Sets display text for the element
HTML_QuickForm_element::setName() Sets the input field name
HTML_QuickForm_element::setPersistantFreeze() Sets wether an element value should be kept in an hidden field when the element is frozen or not
HTML_QuickForm_element::setValue() Sets the value of the form element
HTML_QuickForm_element::unfreeze() Unfreezes the form element
Sets the options for the autocomplete input text element (Previous) Class constructor (Next)
Last updated: Sat, 16 Feb 2019 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report.
View this page in:
  • English

User Notes:

Note by: cweiske
Here is how to invalidate dates in the past:
<?php
$form
->addRule(
    
'datefieldname''Date is in the past',
    
'callback''classname::checkDateNotPast'
);


/**
 * Checks if the given date is in the past.
 *
 * @param array $arDate Key-value pair array with d, m and Y keys
 *
 * @return boolean True if all is ok, false if the date is in the past.
 */
public static function checkDateNotPast($arDate)
{
    
$nDate mktime(000$arDate['m'], $arDate['d'], $arDate['Y']);
    if (
$nDate time()) {
        return 
false;
    }
    return 
true;
}
//public static function checkDateNotPast()
?>
Note by: dwarth@gmail.com
As this element is a subclass of HTML_QuickForm_group you can't use the addRule() method with the "required" validation rule, you must use the addGroupRule() method.

example:

$options = array(
'language' => 'en',
'format' => 'Ymd',
'minYear' => 2007,
'maxYear' => date('Y') + 2,
'addEmptyOption' => true
);
$form->addElement('date', 'TheDate', 'Date', $options);

$form->addGroupRule('TheDate', 'enter a date', 'required');