Souhaitez-vous appliquer une politique de mot de passe stricte dans vos WPForms qui exige une combinaison de lettres majuscules, de lettres minuscules, de chiffres et de symboles ? Bien que l'option de mot de passe fort intégrée à WPForms n'implémente pas strictement ces exigences, vous pouvez y parvenir en utilisant un extrait de code personnalisé.
Dans ce tutoriel, nous allons vous montrer comment ajouter une validation de mot de passe personnalisée à vos WPForms.
Ajout de l'extrait de code
Pour mettre en œuvre la validation personnalisée du mot de passe, vous devez ajouter un extrait de code personnalisé à votre site. Si vous avez besoin d'aide pour ajouter du code personnalisé, veuillez consulter notre tutoriel sur l'ajout d'extraits de code. l'ajout d'extraits de code.
Ajoutez l'extrait de code suivant à votre site :
/**
* Implement Custom Password Validation.
*
* @link https://wpforms.com/developers/implementing-custom-password-validation-in-wpforms
*
*/
add_action('wpforms_process', 'custom_password_validation', 10, 3);
function custom_password_validation($fields, $entry, $form_data) {
foreach ( $fields as $field_id => $field ) {
// Check if this is the correct field (replace 100 with your actual field ID) and it's a password field
if ( $field_id == 100 && $field['type'] === 'password' ) {
$password = $field['value'];
// Define the password validation pattern
$uppercase = preg_match('@[A-Z]@', $password);
$lowercase = preg_match('@[a-z]@', $password);
$number = preg_match('@[0-9]@', $password);
$symbol = preg_match('@[\W]@', $password);
// Check if password meets all requirements
if ( !$uppercase || !$lowercase || !$number || !$symbol ) {
wpforms()->process->errors[$form_data['id']][$field_id] = esc_html__( 'Password must include at least one uppercase letter, one lowercase letter, one number, and one symbol.', 'plugin-domain' );
}
}
}
}
Personnalisation de l'extrait
Vous pouvez modifier cet extrait pour l'adapter à vos besoins spécifiques :
- ID du champ: Remplacer
100
dans leif ( $field_id == 100 && $field['type'] === 'password' ) {
avec l'identifiant réel de votre champ de mot de passe. Pour trouver l'identifiant de votre champ, veuillez consulter notre guide sur l'identification des champs de mots de passe. comment trouver les identifiants des champs. - Message d'erreur: Vous pouvez personnaliser le message d'erreur en modifiant le texte dans le champ
esc_html__()
fonction. - Exigences en matière de mot de passe: Si vous souhaitez modifier les exigences en matière de mot de passe, vous pouvez modifier les expressions régulières dans le fichier
preg_match()
ou ajouter/supprimer des chèques si nécessaire.
Et c'est tout ! Vous avez maintenant mis en place une validation de mot de passe personnalisée dans vos WPForms. Cela permettra de s'assurer que les utilisateurs créent des mots de passe forts qui répondent à vos besoins spécifiques.
Vous souhaitez en savoir plus sur les messages de validation qui apparaissent dans vos formulaires ? Consultez notre tutoriel sur la modification des messages de validation pour plus de détails.