<html lang="pt-pt" dir="ltr"><head></head><body>### [Implementando Validação Personalizada de Senha no WPForms](https://wpforms.com/developers/implementing-custom-password-validation-in-wpforms/)

**Publicado:** 7 de outubro de 2024
**Autor:** Umair Majeed

**Conteúdo:**

Gostaria de impor uma política de senha rigorosa no seu WPForms que exija 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 alcançá-lo usando um trecho de código personalizado.

Neste tutorial, mostraremos como adicionar validação personalizada de senha ao seu WPForms.

## Adicionando o Trecho de Código

Para implementar a validação personalizada de senha, você precisará adicionar um trecho de código personalizado ao seu site. Se precisar de ajuda para adicionar código personalizado, consulte nosso tutorial sobre [como adicionar trechos de código](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/).

Adicione o seguinte trecho de código ao seu site:

```

/**
 * Implementar Validação Personalizada de Senha.
 *
 * @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 =&gt; $field ) {
        // Verifique se este é o campo correto (substitua 100 pelo ID real do seu campo) e se é um campo de senha
        if ( $field_id == 100 &amp;&amp; $field['type'] === 'password' ) {
            $password = $field['value'];
            
            // Defina o padrão de validação de senha
            $uppercase = preg_match('@[A-Z]@', $password);
            $lowercase = preg_match('@[a-z]@', $password);
            $number    = preg_match('@[0-9]@', $password);
            $symbol    = preg_match('@[\W]@', $password);

            // Verifique se a senha atende a todos os requisitos
            if ( !$uppercase || !$lowercase || !$number || !$symbol ) {
                wpforms()-&gt;process-&gt;errors[$form_data['id']][$field_id] = esc_html__( 'A senha deve incluir pelo menos uma letra maiúscula, uma letra minúscula, um número e um símbolo.', 'plugin-domain' );
            }
        }
    }
}
```

## Personalizando o Trecho

Você pode modificar este trecho para atender às suas necessidades específicas:

1. **ID do Campo**: Substitua `100` na linha `if ( $field_id == 100 &amp;&amp; $field['type'] === 'password' ) {` pelo ID real do seu campo de senha. Para encontrar o ID do seu campo, consulte nosso guia sobre [como encontrar IDs de campo](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/#locating-the-field-id).
2. **Mensagem de Erro**: Você pode personalizar a mensagem de erro modificando o texto na função `esc_html__()`.
3. **Requisitos de Senha**: Se você quiser alterar os requisitos de senha, pode modificar as expressões regulares nas funções `preg_match()` ou adicionar/remover verificações conforme necessário.

Após adicionar o trecho, certifique-se de testar completamente seu formulário para garantir que a validação de senha esteja funcionando como esperado. Tente enviar o formulário com várias combinações de senhas para verificar se a validação personalizada está sendo aplicada corretamente.

E é isso! Você implementou a validação personalizada de senha em seu 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 em seus formulários? Confira nosso tutorial sobre [como alterar mensagens de validação](https://wpforms.com/docs/customize-wpforms-validation-messages/) para mais detalhes.

**Categorias:** Tutoriais, Campos

---</body></html>