Gostaria de aplicar uma política de palavra-passe rigorosa nos seus WPForms que requer uma combinação de letras maiúsculas, letras minúsculas, números e símbolos? Embora a opção de senha forte integrada do WPForms não implemente estritamente esses requisitos, você pode conseguir isso usando um trecho de código personalizado.
Neste tutorial, mostraremos como adicionar validação de senha personalizada aos seus WPForms.
Adicionar o snippet de código
Para implementar a validação de palavra-passe personalizada, terá de adicionar um fragmento de código personalizado ao seu site. Se precisar de ajuda para adicionar código personalizado, consulte o nosso tutorial sobre adicionar trechos de código.
Adicione o seguinte trecho de código ao seu 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' );
}
}
}
}
Personalizar o snippet
Pode modificar este snippet para se adequar às suas necessidades específicas:
- ID do campo: Substituir
100
noif ( $field_id == 100 && $field['type'] === 'password' ) {
com o ID real do seu campo de palavra-passe. Para encontrar o ID do campo, consulte o nosso guia sobre como encontrar IDs de campo. - Mensagem de erro: É possível personalizar a mensagem de erro modificando o texto no
esc_html__()
função. - Requisitos da palavra-passe: Se pretender alterar os requisitos da palavra-passe, pode modificar as expressões regulares no
preg_match()
funções ou adicionar/remover controlos conforme necessário.
E é isso! Agora você implementou a validação de senha personalizada em seus WPForms. Isso garantirá que os usuários criem senhas fortes que atendam aos seus requisitos específicos.
Gostaria de saber mais sobre as mensagens de validação que aparecem nos seus formulários? Consulte o nosso tutorial sobre como alterar as mensagens de validação para obter mais pormenores.