Site

Formulários HTTP

HTML só entende GET e POST. Na v4, use helpers PHP para CSRF e spoofing de método.


Helpers de formulário

HelperFunção
csrf()Campo hidden _token
method('PUT')Atualização completa
method('PATCH')Atualização parcial
method('DELETE')Remoção
old('campo')Valor anterior após erro de validação
error('campo')Primeira mensagem de erro

Atualizar (PUT)

<form action="<?= to('user.settings.update') ?>" method="POST">
    <?= csrf() ?>
    <?= method('PUT') ?>

    <label>Nome</label>
    <input type="text" name="display_name" value="<?= e(old('display_name', $user->display_name)) ?>">

    <?php if (error('display_name')): ?>
        <span class="error"><?= e(error('display_name')) ?></span>
    <?php endif; ?>

    <button type="submit">Salvar</button>
</form>

Atualização parcial (PATCH)

<form action="<?= to('user.profile.active') ?>" method="POST">
    <?= csrf() ?>
    <?= method('PATCH') ?>
    <button type="submit">Ativar perfil</button>
</form>

Remover (DELETE)

<form action="<?= to('user.account.delete') ?>" method="POST">
    <?= csrf() ?>
    <?= method('DELETE') ?>
    <button type="submit">Excluir conta</button>
</form>

No handler: $req->check([...]) e res()->success()->to(...). Veja CSRF eValidação.