take over attribute validation from op.UpdateDocument.php

This commit is contained in:
Uwe Steinmann 2023-03-09 08:10:12 +01:00
parent 359cdedfdb
commit 5d2ace6a14

View File

@ -192,42 +192,17 @@ else
foreach($attributes as $attrdefid=>$attribute) { foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid); $attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) { if($attribute) {
if(!$attrdef->validate($attribute)) { switch($attrdef->getType()) {
switch($attrdef->getValidationError()) { case SeedDMS_Core_AttributeDefinition::type_date:
case 5: $attribute = date('Y-m-d', makeTsFromDate($attribute));
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_malformed_email", array("attrname"=>$attrdef->getName(), "value"=>$attribute)));
break; break;
case 4: }
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_malformed_url", array("attrname"=>$attrdef->getName(), "value"=>$attribute))); if(!$attrdef->validate($attribute, null, true)) {
break; $errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
case 3: UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_no_regex_match", array("attrname"=>$attrdef->getName(), "value"=>$attribute, "regex"=>$attrdef->getRegex()))); }
break; } elseif($attrdef->getMinValues() > 0) {
case 2:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
break;
case 1:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
break;
default:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
/*
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $folder->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())));
}
}
*/
} }
} }
} else { } else {