}
public function clean_input_value($value) {
+ $value = str_replace($this->sep_dec, FEEDBACK_DECIMAL, $value);
if (!is_numeric($value)) {
- return null;
+ if ($value == '') {
+ return null; //an empty string should be null
+ } else {
+ return clean_param($value, PARAM_TEXT); //we have to know the value if it is wrong
+ }
}
return clean_param($value, $this->value_type());
}
$formvalname = $item->typ . '_' . $item->id;
if ($itemobj->value_is_array()) {
- $value = optional_param_array($formvalname, null, $itemobj->value_type());
+ //get the raw value here. It is cleaned after that by the object itself
+ $value = optional_param_array($formvalname, null, PARAM_RAW);
} else {
- $value = optional_param($formvalname, null, $itemobj->value_type());
+ //get the raw value here. It is cleaned after that by the object itself
+ $value = optional_param($formvalname, null, PARAM_RAW);
}
+ $value = $itemobj->clean_input_value($value);
//check if the value is set
if (is_null($value) AND $item->required == 1) {