Accept dashes and spaces in names

Change-Id: Ie3729175c1f739bb0be4402e9be1e2a1921da752
diff --git a/templates/register.htm b/templates/register.htm
index 87033c0..a8c6a77 100644
--- a/templates/register.htm
+++ b/templates/register.htm
@@ -53,20 +53,20 @@
     <div class="col-md-4">
         <div class="form-outline">
             <label class="form-label fw-bold" for="form3Example1">First name</label>
-            <input pattern="[^\s]{<?php echo $VAL_USER->min_first_name.','.$VAL_USER->max_first_name;?>}" required title="At least 2 not whitespace characters" name="first_name" type="text" id="form3Example1" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['first_name'])){echo 'border-danger';}?>"
+            <input pattern="[^\s].{<?php echo ($VAL_USER->min_first_name - 1) . ','.$VAL_USER->max_first_name;?>}" required title="At least 2 not whitespace characters" name="first_name" type="text" id="form3Example1" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['first_name'])){echo 'border-danger';}?>"
                 placeholder="Jane" value="<?php echo isset($_POST['first_name']) ? htmlspecialchars($_POST['first_name']) : '' ?>" />
             <div class="invalid-feedback">
-                Please provide a first name with at least 2 characters.
+                Please provide a first name with at least <?php echo $VAL_USER->min_first_name ?> characters, not starting with white spaces.
             </div>
         </div>
     </div>
     <div class="col-md-4">
         <div class="form-outline">
             <label class="form-label fs-4 fs-4 fw-bold" for="form3Example2">Last name</label>
-            <input pattern="[^\s]{<?php echo $VAL_USER->min_last_name.','.$VAL_USER->max_last_name;?>}" required title="At least 2 not whitespace characters" name="last_name" type="text" id="form3Example2" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['last_name'])){echo 'border-danger';}?>"
+            <input pattern="[^\s].{<?php echo ($VAL_USER->min_last_name - 1). ','.$VAL_USER->max_last_name;?>}" required title="At least 2 not whitespace characters" name="last_name" type="text" id="form3Example2" class="form-control fs-4 <?php if(isset($error) && $error && !isset($_POST['last_name'])){echo 'border-danger';}?>"
                 placeholder="Doe" value="<?php echo isset($_POST['last_name']) ? htmlspecialchars($_POST['last_name']) : '' ?>" />
             <div class="invalid-feedback">
-                Please provide a last name with at least 2 characters.
+                Please provide a last name with at least <?php echo $VAL_USER->min_last_name ?> characters, not starting with white spaces.
             </div>
         </div>
     </div>
diff --git a/templates/strings.php b/templates/strings.php
index 2bf82f9..405e353 100644
--- a/templates/strings.php
+++ b/templates/strings.php
@@ -9,7 +9,7 @@
 
 $USERNAME_VALIDATION_ERROR = (object)[
         "registered" => "This username is already in use! Please choose another username<br>",
-        "no_whitespaces" => "Username cannot contain whitespaces<br>",
+        "no_whitespaces" => "Username cannot start with whitespaces<br>",
         "smaller_than" => "Username must have less than {{num}} characters<br>",
         "bigger_than" => "Username must be bigger than {{num}} characters<br>",
         "no_special_chars" => "The username cannot contain special characters<br>",
diff --git a/validators.php b/validators.php
index 966f1d1..7e62bea 100644
--- a/validators.php
+++ b/validators.php
@@ -49,7 +49,7 @@
         include "config.php";
         include $TEMPLATE . 'strings.php';
         $error = "";
-        if (preg_match("/\s/", $name)) {
+        if (preg_match("/^\s/", $name)) {
                 $error = $error . $ERRORS->no_whitespaces;
         }
         if (strlen($name) > $VAL_USER->max_first_name) {
@@ -57,8 +57,9 @@
         }
         if (strlen($name) < $VAL_USER->min_first_name) {
                 $error = $error . format($ERRORS->bigger_than, ["num" => $VAL_USER->min_first_name - 1]);
+                $error += "actual length: " . strlen($name);
         }
-        if (preg_match('/[\'\/~`\!@#\$%\^&\*\(\)_\-\+=\{\}\[\]\|;:"\<\>,\.\?\\\0-9]/', $name)) {
+        if (preg_match('/[\'\/~`\!@#\$%\^&\*\(\)_\-\+=\{\}\[\]\|;:"\<\>,\.\?\\\0-9]-/', $name)) {
                 $error = $error . $ERRORS->no_special_chars;
         }
         return $error;