diff --git a/apps/maarch_entreprise/Views/doctypes-administration.component.html b/apps/maarch_entreprise/Views/doctypes-administration.component.html
index e4060352eaa48b0de6a7b38b917805c95fddcff4..4d5f7382fcf6379bf7912b67cd4fccd79fec87f1 100644
--- a/apps/maarch_entreprise/Views/doctypes-administration.component.html
+++ b/apps/maarch_entreprise/Views/doctypes-administration.component.html
@@ -269,7 +269,8 @@
                                         <div class="col-sm-6">
                                             <mat-form-field>
                                                 <input matInput [(ngModel)]="currentType.duration_current_use" name="duration_current_use" id="duration_current_use" title="{{lang.durationCurrentUse}}"
-                                                    type="number" placeholder="{{lang.durationCurrentUse}}" pattern="^[0-9]*$">
+                                                    type="text" placeholder="{{lang.durationCurrentUse}}" pattern="^[0-9]*$">
+                                                    <!-- pattern without required attribute must be type text -->
                                             </mat-form-field>
                                         </div>
                                     </div>
diff --git a/src/app/doctype/controllers/DoctypeController.php b/src/app/doctype/controllers/DoctypeController.php
index c8655be706ecf1e7ad6c67b81c6b8e042d19ae7b..cb8a2c3f3291b79ca4f7174b2e11bf4f7cfdebb4 100644
--- a/src/app/doctype/controllers/DoctypeController.php
+++ b/src/app/doctype/controllers/DoctypeController.php
@@ -90,6 +90,9 @@ class DoctypeController
         if (!empty($errors)) {
             return $response->withStatus(500)->withJson(['errors' => $errors]);
         }
+        if (empty($data['duration_current_use'])) {
+            $data['duration_current_use'] = null;
+        }
 
         $data = DoctypeController::manageValue($data);
         $secondLevelInfo = SecondLevelModel::getById(['select' => ['doctypes_first_level_id'], 'id' => $data['doctypes_second_level_id']]);
@@ -166,6 +169,9 @@ class DoctypeController
         if (!empty($errors)) {
             return $response->withStatus(500)->withJson(['errors' => $errors]);
         }
+        if (empty($data['duration_current_use'])) {
+            $data['duration_current_use'] = null;
+        }
         $data = DoctypeController::manageValue($data);
         $secondLevelInfo                 = SecondLevelModel::getById(['select' => ['doctypes_first_level_id'], 'id' => $data['doctypes_second_level_id']]);
         if (empty($secondLevelInfo)) {
@@ -371,6 +377,11 @@ class DoctypeController
             $aArgs['delay2'] < 0) {
             $errors[]= 'Invalid delay2 value';
         }
+        if (Validator::notEmpty()->validate($aArgs['duration_current_use']) &&
+            (!Validator::intVal()->validate($aArgs['duration_current_use']) ||
+            $aArgs['duration_current_use'] < 0)) {
+            $errors[]= 'Invalid duration_current_use value';
+        }
 
         return $errors;
     }