j'ai besoin de validation de mot de passe commevalidation de mot de passe dans Laravel
1 English uppercase characters (A – Z)
2 English lowercase characters (a – z)
3 Base 10 digits (0 – 9)
4 Non-alphanumeric (For example: !, $, #, or %)
5 Unicode characters
J'ai appliqué un code, mais le résultat est que je reçois une erreur. Je pense que regex que j'ai utilisé dans le mauvais format. S'il vous plaît vérifier mon code et corrigez-moi. Merci
AuthController.php
protected function validator(array $data)
{
return Validator::make($data, [
'firstname' => 'required|max:255',
'lastname' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|
regex:array("/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X])(?=.*[!$#%]).*$/")|
min:8|
confirmed',
]);
}
Essayez ['regex: array ('/^(? = [^ Az] * [az]) (? = [^ AZ] * [AZ]) (? = [^ 0-9] * [0- 9]) (? = [^! $ #%] * [! $ #%]). * $/') '] (Https://regex101.com/r/xC2kT6/1). Cette regex nécessite tous les 1-4 points et permet le point 5 (tous les caractères). –
@stribizhev J'ai essayé mais j'ai eu une erreur "ErrorException dans la ligne Validator.php 1343: preg_match(): Le délimiteur ne doit pas être alphanumérique ou backslash" –
Ensuite, utilisez simplement un autre délimiteur: 'regex: array ('~^(? [^ az] * [az]) (? = [^ AZ] * [AZ]) (? = [^ 0-9] * [0-9]) (? = [^! $ #%] * [! $ #%]). * $ ~ '' –