slogan3

Help me een Ruby-script te maken voor gegevensvalidatie

description

Door gegevens te valideren voordat ze worden verwerkt, kan ik fouten in latere stadia voorkomen, de gegevenskwaliteit verbeteren en zorgen voor naleving van zakelijke regels. Dit bespaart tijd en middelen bij gegevensverwerking.

prompt

try_prompt

Ik heb hulp nodig bij het schrijven van een Ruby-script dat de volgende gegevens valideert: {{gegevens_invoer}}. Geef alsjeblieft de validatieregels die ik moet implementeren, zoals formaatcontrol ... more
generate_helper
disclaimerOnPageApi image_legal_disclaimer...

ai_answers

provider: openai
model: gpt-4.1-nano
Hier zijn de validatieregels die je kunt implementeren voor de gegevens: 1. 'email': - Verplicht veld. - Moet een geldig e-mailadres zijn, bijvoorbeeld in het formaat 'gebruikersnaam@domein'. - Controleer op een geldig email-formaat met een regex. 2. 'leeftijd': - Verplicht veld. - Moet een geheel getal zijn. - Moet binnen een redelijke leeftijdsrange liggen, bijvoorbeeld tussen 0 en 120. Voor een duidelijke en gestructureerde validatie met feedback kun je bijvoorbeeld het volgende Ruby-script gebruiken: ```ruby def validate_data(data) errors = [] # Validatie email if data['email'].nil? || data['email'].strip.empty? errors << "Het veld 'email' is verplicht." elsif !(data['email'] =~ /\A[^@\s]+@[^@\s]+\.[^@\s]+\z/) errors << "Het e-mailadres is ongeldig." end # Validatie leeftijd if data['leeftijd'].nil? errors << "Het veld 'leeftijd' is verplicht." elsif !data['leeftijd'].is_a?(Integer) errors << "De leeftijd moet een getal zijn." elsif data['leeftijd'] < 0 || data['leeftijd'] > 120 errors << "De leeftijd moet tussen 0 en 120 liggen." end if errors.empty? puts "Alle gegevens zijn geldig." # Data is schoon en klaar voor verdere verwerking else puts "Validatiefouten:" errors.each { |error| puts "- #{error}" } end end # Voorbeeldgebruik gegevens = { 'email' => 'test@example.com', 'leeftijd' => 25 } validate_data(gegevens) ``` Deze code controleert of alle verplichte velden aanwezig en correct zijn, geeft duidelijke feedback bij fouten, en bevestigt validatie als alles in orde is.
provider: deepseek
model: deepseek-chat
Hier zijn de validatieregels en een voorbeeld van een Ruby-script dat je kunt gebruiken: ### Validatieregels: 1. **Email**: - Verplicht veld - Moet een geldig e-mailformaat hebben (bevat @ en een domein) - Optioneel: extra controles zoals DNS-check of regex voor algemeen formaat 2. **Leeftijd**: - Verplicht veld - Moet een positief geheel getal zijn - Moet binnen een realistisch bereik liggen (bijv. 0-120 jaar) ### Ruby-script: ```ruby def valideer_gegevens(gegevens) fouten = [] # Email validatie if gegevens['email'].nil? || gegevens['email'].empty? fouten << "E-mailadres is verplicht" elsif !gegevens['email'].match?(/\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i) fouten << "Ongeldig e-mailformaat" end # Leeftijd validatie if gegevens['leeftijd'].nil? fouten << "Leeftijd is verplicht" else leeftijd = gegevens['leeftijd'].to_i if leeftijd <= 0 || leeftijd > 120 fouten << "Leeftijd moet tussen 1 en 120 jaar liggen" end end # Resultaat if fouten.empty? { geldig: true, gegevens: { 'email' => gegevens['email'].strip.downcase, 'leeftijd' => gegevens['leeftijd'].to_i }} else { geldig: false, fouten: fouten } end end # Gebruiksvoorbeeld: invoer = { 'email' => 'test@example.com', 'leeftijd' => 25 } resultaat = valideer_gegevens(invoer) if resultaat[:geldig] puts "Gegevens zijn geldig: #{resultaat[:gegevens]}" else puts "Validatiefouten:" resultaat[:fouten].each { |fout| puts " - #{fout}" } end ``` ### Extra kenmerken: - **Trimmen en normaliseren**: E-mails worden omgezet naar kleine letters en ontdaan van spaties - **Typeconversie**: Leeftijd wordt gegarandeerd een integer - **Duidelijke foutmeldingen**: Specifieke feedback per validatiefout - **Uitbreidbaar**: Makkelijk extra velden toe te voegen Dit script geeft duidelijke feedback en zorgt voor consistente gegevens voor verdere verwerking.