> ## Documentation Index
> Fetch the complete documentation index at: https://docs-fw.madbuilder.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# TPassword

> O `TPassword` é um componente de entrada de dados (derivado da classe `TField`), que permite ao usuário inserir senhas de forma segura.

## \_\_construct

Construtor da classe `TPassword`.

**Parâmetros:**
<ResponseField name="$name" type="mixed" required>Nome do campo que será utilizado no formulário.</ResponseField>

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
```

<br />

## setMaxLength

Define o comprimento máximo do campo.

**Parâmetros:**
<ResponseField name="$length" type="mixed" required>Comprimento máximo do campo.</ResponseField>

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
$senha->setMaxLength(16);
```

<br />

## setExitAction

Define a ação a ser executada quando o usuário sair do campo.

**Parâmetros:**
<ResponseField name="$action" type="TAction" required>Objeto `TAction`.</ResponseField>

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
$senha->setExitAction(new TAction(['NomeClasseDeControle', 'onExitCampo']));
```

Código de exemplo da função a ser chamada, lembrando que essa função precisa ser estática (static function).

```php theme={null}
public static function onExitCampo($param = null)
{
    new TMessage('info', print_r($param, true));
}
```

<br />

## setExitFunction

Define uma função JavaScript a ser executada quando o usuário sair do campo.

**Parâmetros:**
<ResponseField name="$function" type="mixed" required>Função JavaScript.</ResponseField>

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
$senha->setExitFunction('alert("Você saiu do campo Senha.");');
```

<br />

## enableToggleVisibility

Ativa ou desativa a opção de alternar a visibilidade do campo.

**Parâmetros:**
<ResponseField name="$toggleVisibility" type="bool" default="true">(Opcional) Booleano indicando se a opção deve ser ativada.</ResponseField>

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
$senha->enableToggleVisibility();
```

<br />

## disableAutoComplete

Desativa o preenchimento automático do navegador.

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
$senha->disableAutoComplete();
```

<br />

## setInnerIcon

Define um ícone interno ao campo.

**Parâmetros:**
<ResponseField name="$image" type="TImage" required>Objeto `TImage`.</ResponseField>
<ResponseField name="$side" type="string" default="right">(Opcional) Lado em que o ícone aparecerá.</ResponseField>

**Exemplo de código:**

```php theme={null}
$senha = new TPassword('senha');
$icone = new TImage('far:circle #000000');
$senha->setInnerIcon($icone);
```
