diff --git a/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php b/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php index 47b5f29c6..c45f5f899 100644 --- a/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php +++ b/src/opnsense/mvc/app/controllers/OPNsense/Base/ApiMutableModelControllerBase.php @@ -106,6 +106,22 @@ abstract class ApiMutableModelControllerBase extends ApiControllerBase return $this->modelHandle; } + /** + * validate and save model after update or insertion. + * Use the reference node and tag to rename validation output for a specific node to a new offset, which makes + * it easier to reference specific uuids without having to use them in the frontend descriptions. + * @param $node reference node, to use as relative offset + * @return array result / validation output + */ + protected function validateAndSave($node = null) + { + $result = $this->validate(); + if (empty($result['result'])) { + return $this->save(); + } + return $result; + } + /** * validate this model * @param $node reference node, to use as relative offset