Help me met het optimaliseren van Statamic's formulierbeheer en validatie
description
Met deze prompt kan de gebruiker zijn formulierbeheer in Statamic verbeteren, waardoor formulieren betrouwbaarder en gebruiksvriendelijker worden. Het helpt problemen met formuliervalidatie op te lossen en integreert externe services, wat alternatieve generieke prompts niet specifiek behandelen.
prompt
Help me mijn Statamic CMS formulierbeheer en validatie te optimaliseren. Mijn huidige formulierconfiguratie is: <beschrijf je huidige formulierconfiguratie>. Spe ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier zijn enkele tips om je Statamic CMS formulierbeheer en validatie te optimaliseren voor je contactformulier:
1. Formulierconfiguratie optimaliseren:
Gebruik de YAML- of PHP-configuratie om je formulier duidelijk en overzichtelijk te structureren. Bijvoorbeeld:
```yaml
title: Contactformulier
fields:
- handle: naam
field:
type: text
validate:
required: true
max: 50
- handle: email
field:
type: email
validate:
required: true
email: true
- handle: bericht
field:
type: textarea
validate:
required: true
max: 2000
```
2. Validatie verbeteren:
- Gebruik het ingebouwde `email: true` validatieregel voor het e-mailadres, wat zorgt voor een geldige e-mailcontrole.
- Voeg indien nodig extra regels toe zoals `required`, `max`, of `min`.
3. Externe services integreren:
- Voor bijvoorbeeld spamdetectie of automatische antwoorden kun je webhooks of API-integraties gebruiken.
- Bijvoorbeeld, integratie met een mailinglijstservice zoals Mailchimp kan via webhook of API.
4. Gebruik van Antispam maatregelen:
- Voeg een CAPTCHA toe (zoals reCAPTCHA) via een plugin of custom code om spam te voorkomen.
5. Bevestiging en foutafhandeling:
- Zorg dat gebruikers duidelijke bevestiging krijgen na het verzenden.
- Gebruik `redirect` na succesvolle verzending en toon foutmeldingen bij invalid input.
6. Statamic 3.2 specifieke tips:
- Controleer of je formulier en validation regels correct worden toegepast via de `forms.yaml` of via custom formulier-plugins.
- Maak gebruik van de `honeypot` veldtype om spam te verminderen.
7. Documentatie en updates:
- Bekijk de officiële Statamic 3 documentatie over formulieren en validatie voor de nieuwste features en best practices.
Wil je een voorbeeld van volledige configuratie of hulp bij het toevoegen van een bepaalde functionaliteit?
provider: deepseek
model: deepseek-chat
Ik help je graag met het optimaliseren van je Statamic 3.2 contactformulier. Hier zijn de belangrijkste optimalisaties:
## 1. Formulierconfiguratie (YAML)
```yaml
# forms/contact.yaml
title: Contactformulier
fields:
naam:
type: text
display: Naam
validate: required|min:2
width: 50
email:
type: text
input_type: email
display: E-mailadres
validate: required|email
width: 50
bericht:
type: textarea
display: Bericht
validate: required|min:10
rows: 5
honeypot: telefoon
```
## 2. Aangepaste Validatie (Optioneel)
Voor complexere validatie, voeg toe in `app/Providers/AppServiceProvider.php`:
```php
use Illuminate\Support\Facades\Validator;
public function boot()
{
Validator::extend('custom_email', function ($attribute, $value, $parameters, $validator) {
return filter_var($value, FILTER_VALIDATE_EMAIL) !== false;
});
}
```
## 3. Frontend Validatie (Antlers template)
```html
{{ form:contact class="contact-form" }}
{{ if errors }}
<div class="errors">
{{ errors }}
<p>{{ value }}</p>
{{ /errors }}
</div>
{{ /if }}
<div class="form-group">
<label for="naam">Naam *</label>
<input type="text" name="naam" value="{{ old:naam }}" required>
</div>
<div class="form-group">
<label for="email">E-mailadres *</label>
<input type="email" name="email" value="{{ old:email }}" required>
</div>
<div class="form-group">
<label for="bericht">Bericht *</label>
<textarea name="bericht" rows="5" required>{{ old:bericht }}</textarea>
</div>
{{# Honeypot veld #}}
<div style="display: none;">
<label for="telefoon">Telefoon</label>
<input type="text" name="telefoon" tabindex="-1" autocomplete="off">
</div>
<button type="submit">Versturen</button>
{{ /form:contact }}
```
## 4. E-mailnotificatie configureren
```yaml
# forms/contact.yaml (toevoegen)
email:
to: jouw@email.nl
from: no-reply@jouwdomein.nl
subject: Nieuw contactformulier bericht
template: email.contact
```
## 5. Externe integraties (bijv. reCAPTCHA)
Voeg toe aan je formulier:
```yaml
# forms/contact.yaml
fields:
# ... bestaande velden
g-recaptcha-response:
type: recaptcha
validate: required|recaptcha
```
## 6. CSS voor betere gebruikerservaring
```css
.contact-form .errors {
color: #e3342f;
margin-bottom: 1rem;
}
.contact-form .form-group {
margin-bottom: 1rem;
}
.contact-form input:invalid,
.contact-form textarea:invalid {
border-color: #e3342f;
}
```
## Belangrijke tips:
- Gebruik `old:fieldname` voor persistente formulierdata
- Honeypot veld beschermt tegen spam
- Test altijd beide validatie (frontend en backend)
- Controleer je formulier logs in het Statamic CP
Heb je specifieke vragen over een van deze onderdelen of wil je een bepaalde integratie toevoegen?