check if minimum number of attribute values is set

This commit is contained in:
Uwe Steinmann 2016-05-26 10:45:40 +02:00
parent ba786d52b9
commit 4bfc47f063
3 changed files with 17 additions and 2 deletions

View File

@ -82,6 +82,8 @@ foreach($attributes as $attrdefid=>$attribute) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
}
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
}
}
@ -105,10 +107,11 @@ foreach($attributes_version as $attrdefid=>$attribute) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
}
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
}
}
$reqversion = (int)$_POST["reqversion"];
if ($reqversion<1) $reqversion=1;

View File

@ -65,7 +65,15 @@ if($attributes) {
if($attribute) {
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("folder_title", array("foldername" => $document->getName())),getMLText("attr_no_regex_match"));
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_no_regex_match"));
}
if(is_array($attribute)) {
if($attrdef->getMinValues() > count($attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
}
if($attrdef->getMaxValues() && $attrdef->getMaxValues() < count($attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
}
}
}
if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {
@ -97,6 +105,8 @@ if($attributes) {
}
}
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
} elseif(isset($oldattributes[$attrdefid])) {
if(!$version->removeAttribute($dms->getAttributeDefinition($attrdefid)))
UI::exitError(getMLText("document_title", array("documentname" => $folder->getName())),getMLText("error_occured"));

View File

@ -219,6 +219,8 @@ if ($_FILES['userfile']['error'] == 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
}
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
}
}
} else {