diff --git a/forms/TreeDropdownField.php b/forms/TreeDropdownField.php index 7380c410a..ba6f91df6 100755 --- a/forms/TreeDropdownField.php +++ b/forms/TreeDropdownField.php @@ -160,6 +160,8 @@ class TreeDropdownField extends FormField { if($forceValues = $this->value) { if(($values = preg_split('/,\s*/', $forceValues)) && count($values)) foreach($values as $value) { + if(!is_numeric($value)) continue; + $obj->markToExpose($this->objectForKey($value)); } } diff --git a/forms/TreeMultiselectField.php b/forms/TreeMultiselectField.php index 429f74bfe..64be39328 100755 --- a/forms/TreeMultiselectField.php +++ b/forms/TreeMultiselectField.php @@ -39,19 +39,21 @@ class TreeMultiselectField extends TreeDropdownField { // needed for errorMessage() Requirements::javascript(SAPPHIRE_DIR . '/javascript/LeftAndMain.js'); Requirements::javascript(SAPPHIRE_DIR . "/javascript/TreeSelectorField.js"); - + // Any field values have priority over the relation getters if($this->value) { $items = new DataObjectSet(); $ids = explode(',', $this->value); foreach($ids as $id) { + if(!is_numeric($id)) continue; + $item = DataObject::get_by_id($this->sourceObject, $id); if($item) $items->push($item); } } else { $items = $this->getItems(); } - + if($items && $items->Count()) { foreach($items as $item) { $titleArray[] =$item->Title;