Back to Home

Form

Form component wrapper with automatic CSRF protection and HTTP method spoofing support

Basic Usage

The most basic form component with POST method by default:
<neura::form action="/submit" method="POST">
    <neura::input name="email" type="email" placeholder="Email" />
    <neura::button type="submit">Submit</neura::button>
</neura::form>

HTTP Methods

The form component supports all HTTP methods with automatic CSRF handling and method spoofing:

GET Method

POST Method (Default)

PUT Method

PATCH Method

DELETE Method

<!-- GET -->
<neura::form action="/search" method="GET">...</neura::form>

<!-- POST (default) -->
<neura::form action="/users" method="POST">...</neura::form>

<!-- PUT, PATCH, DELETE (avec @method automatique) -->
<neura::form action="/users/1" method="PUT">...</neura::form>
<neura::form action="/users/1" method="PATCH">...</neura::form>
<neura::form action="/users/1" method="DELETE">...</neura::form>

Custom Spacing

Customize spacing between form elements with the spacing attribute:
<neura::form action="/submit" spacing="space-y-4">
    <!-- Contenu avec espacement personnalisé -->
</neura::form>

Complete Form Example

Complete form example with all elements:
<neura::form action="/users" method="POST">
    <neura::input name="name" placeholder="Full Name" />
    <neura::input name="email" type="email" placeholder="Email Address" />
    <neura::input name="password" type="password" placeholder="Password" />
    <neura::button type="submit" class="w-full">Create Account</neura::button>
</neura::form>

Best Practices

✓ Do

  • Toujours spécifier l'attribut action pour définir l'URL de soumission
  • Utiliser la méthode appropriée (GET pour les recherches, POST pour les créations, etc.)
  • Laisser le composant gérer automatiquement le CSRF et les méthodes spoofing
  • Utiliser l'attribut spacing pour personnaliser l'espacement entre les champs

✗ Don't

  • Ne pas ajouter manuellement @csrf - c'est géré automatiquement
  • Ne pas ajouter manuellement @method - c'est géré automatiquement pour PUT, PATCH, DELETE
  • Ne pas utiliser POST pour des actions qui ne modifient pas de données (utiliser GET)
  • Ne pas oublier l'attribut action

Properties

Property Type Default Description
method string 'POST' HTTP method (GET, POST, PUT, PATCH, DELETE). PUT, PATCH, DELETE methods automatically use @method
action string|null null Form submission URL
spacing string 'space-y-6' Classes CSS pour l'espacement entre les éléments (passé via l'attribut class ou spacing)