Merge pull request #473 from assertchris/fix-validation-for-checkbox-set-field

Fixing validation for CheckboxSet field
This commit is contained in:
Damian Mooyman 2016-05-20 16:29:11 +12:00
commit ab05a41249

View File

@ -20,4 +20,46 @@ class UserFormsCheckboxSetField extends CheckboxSetField {
return $options;
}
/**
* @inheritdoc
*
* @return array
*/
public function getSourceAsArray()
{
$array = parent::getSourceAsArray();
return array_values($array);
}
/**
* @inheritdoc
*
* @param Validator $validator
*
* @return bool
*/
public function validate($validator)
{
// get the previous values (could contain comma-delimited list)
$previous = $value = $this->Value();
if (strstr($value, ",")) {
$value = explode(",", $value);
}
// set the value as an array for parent validation
$this->setValue($value);
$validated = parent::validate($validator);
// restore previous value after validation
$this->setValue($previous);
return $validated;
}
}