Преглед на файлове

extend password validation

andre преди 2 години
родител
ревизия
2dbe7f818d
променени са 3 файла, в които са добавени 38 реда и са изтрити 2 реда
  1. 24 0
      app/Validators/PasswordsValidator.php
  2. 7 1
      langs/english.php
  3. 7 1
      langs/german.php

+ 24 - 0
app/Validators/PasswordsValidator.php

@@ -28,9 +28,33 @@ class PasswordsValidator extends BaseValidator
      */
     protected function validate($data, $additionalData = null)
     {
+        $validateError = null;        
         if(strlen($data) < 8)
         {
             $this->addValidationError('passwordCharsLengthError');
+            $validateError = true;
+        }
+
+        if (!preg_match('#[0-9]+#', $data)) {
+            $this->addValidationError('passwordNumberError');
+            $validateError = true;
+        }
+    
+        if (!preg_match('#[A-Z]+#', $data)) {
+            $this->addValidationError('passwordUpperError');
+            $validateError = true;
+        }     
+    
+        if (!preg_match('#[a-z]+#', $data)) {
+            $this->addValidationError('passwordLowerError');
+            $validateError = true;
+        }     
+    
+        if (!preg_match('#[^\w]+#', $data)) {
+            $this->addValidationError('passwordSpecialError');
+            $validateError = true;
+        }
+        if ($validateError == true) {
             return false;
         }
 

+ 7 - 1
langs/english.php

@@ -538,7 +538,13 @@ $_LANG['restrictions']['error']['somethingWentWrong'] = 'Something has gone wron
 $_LANG['restrictions']['error']['extensionRequired'] = 'PHP extension `:extension:` is required.';
 
 $_LANG['addonCA']['emailAccount']['addAccountForm']['generalSection']['generated_row_section_2']['generated_2_0']['password']['description'] = 'A password must contain at least 8 characters';
-$_LANG['FormValidators']['passwordCharsLengthError']                                              = 'A password must contain at least 8 characters';
+$_LANG['FormValidators']['passwordCharsLengthError'] = 'A password must contain at least 8 characters';
+// thurdata pasword validation
+$_LANG['FormValidators']['passwordUpperError'] = 'A password must contain at least a capital letter (A-Z)';
+$_LANG['FormValidators']['passwordLowerError'] = 'A password must contain at least a lowercase letter (a-z)';
+$_LANG['FormValidators']['passwordNumberError'] = 'A password must contain at least a number';
+$_LANG['FormValidators']['passwordSpecialError'] = 'A password must contain at least a special letter (.,-:=)';
+
 $_LANG['addonCA']['domainAlias']['addDomainAliasModals']['addDomainAliasForm']['description']['descriptionDomainList'] = 'Please provide a description of a new alias.';
 
 $_LANG['configurableOptionsCreate'] = 'The configurable options have been created successfully.';

+ 7 - 1
langs/german.php

@@ -540,7 +540,13 @@ $_LANG['restrictions']['error']['somethingWentWrong'] = 'Etwas ist schief gegang
 $_LANG['restrictions']['error']['extensionRequired'] = 'PHP extension `:extension:` is required.';
 
 $_LANG['addonCA']['emailAccount']['addAccountForm']['generalSection']['generated_row_section_2']['generated_2_0']['password']['description'] = 'Das Passwort muss mindestens 8 Zeichen enthalten';
-$_LANG['FormValidators']['passwordCharsLengthError']                                              = 'Das Passwort muss mindestens 8 Zeichen enthalten';
+$_LANG['FormValidators']['passwordCharsLengthError'] = 'Das Passwort muss mindestens 8 Zeichen enthalten';
+// thurdata pasword validation
+$_LANG['FormValidators']['passwordUpperError'] = 'Das Passwort muss mindestens einen Grossbuchstaben (A-Z) enthalten';
+$_LANG['FormValidators']['passwordLowerError'] = 'Das Passwort muss mindestens einen Kleinbuchstaben (a-z) enthalten';
+$_LANG['FormValidators']['passwordNumberError'] = 'Das Passwort muss mindestens eine Zahl enthalten';
+$_LANG['FormValidators']['passwordSpecialError'] = 'Das Passwort muss mindestens ein Sonderzeichen (.,-:=) enthalten';
+
 $_LANG['addonCA']['domainAlias']['addDomainAliasModals']['addDomainAliasForm']['description']['descriptionDomainList'] = 'Bitte geben Sie eine Beschreibung für den Alias an.';
 
 $_LANG['configurableOptionsCreate'] = 'The configurable options have been created successfully.';