/**
* Method to attach a Form object to the field.
*
* @param \SimpleXMLElement $element The SimpleXMLElement object representing the `<field>` tag for the form field object.
* @param mixed $value The form field value to validate.
* @param string $group The field name group control value. This acts as an array container for the field.
* For example if the field has name="foo" and the group value is set to "bar" then the
* full field name would end up being "bar[foo]".
*
* @return boolean True on success.
*
* @see FormField::setup()
* @since 3.2
*/
public function setup(\SimpleXMLElement $element, $value, $group = null)
{
// Handle the default attribute
$default = (string) $element['default'];
if ($default) {
$test = $this->form->getValue((string) $element['name'], $group);
$value = $test == $default ? $default : null;
}
$return = parent::setup($element, $value, $group);
if ($return) {
$checked = (string) $this->element['checked'];
$this->checked = $checked === 'true' || $checked === 'checked' || $checked === '1';
empty($this->value) || $this->checked ? null : ($this->checked = true);
}
return $return;
}