slogan3

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

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?