Validator class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer / PHP

Bedrijfsomschrijving Voor een organisatie in regio Eindhoven zijn wij op zoek naar een Software Developer met goede kennis van PHP. Het gaat om een software bedrijf dat te omschrijven is als informeel en open. De mensen die er werken zijn enthousiast, willen graag goede kwaliteit neerzetten, nieuwe technieken worden omarmt en alles is zo ingericht dat nieuwe tools/technieken gemakkelijk geïntegreerd kunnen worden. De organisatie is erg technisch georiënteerd, men gaat echt voor software development en heeft passie voor het vak. Er wordt geïnvesteerd in medewerkers door bijvoorbeeld opleidingen, cursussen en echt tijd voor onderzoek en innoveren. Je krijgt al snel

Bekijk vacature »

C# ontwikkelaar gezocht, academisch niveau, goed s

Ben je als .NET ontwikkelaar op zoek naar een (nieuwe) analytische uitdagende baan? Een baan waar je te maken krijgt geavanceerde wiskundige modellen? Dan zou deze organisatie je dit kunnen bieden. Voor een organisatie in Delft zijn we momenteel op zoek naar .NET ontwikkelaar met een academisch niveau en kennis of affiniteit met het bouwen van modellen, dataprocessen en applicaties in .NET C#. De organisatie houdt zich bezig met het leveren van zeer specifieke diensten voor de financiële sector en doet veel zaken met grote financiële instellingen. Het gaat hier om een kleinere organisatie van circa 15 mensen waarvan 5

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Onze klant bouwt dynamisch en voornamelijk op .NET gebaseerde software voor diverse organisaties die zowel nationaal als internationaal opereren. De vestiging in Apeldoorn vormt onderdeel van een grotere organisatie met meerdere locaties in Nederland. De focus hier is om effectieve software te bouwen om data intensieve processen zo goed en overzichtelijk mogelijk te laten verlopen. Om dit soort processen goed te waarborgen en dat de juiste doelstellingen worden gehaald bieden zij velen oplossingen. Een voorbeeld hiervan is maatwerk mobile apps die gekoppeld worden aan zowel eigen software als die van diverse andere organisaties om de juiste data flows mogelijk

Bekijk vacature »

ETL Developer Datawarehouse

Wil jij je ETL-ontwikkelexpertise inzetten binnen de zorg? Dan is dit jouw baan! Je werkt vanuit de Crystal Tower in Amsterdam met de nieuwste Microsoft-technieken aan slimme oplossingen die zorgorganisaties helder inzicht geven in hun verbeterpunten. Jouw baan Onze datamodellen geven ziekenhuizen meer inzicht in hun huidige activiteiten en verwachte ontwikkelingen. Jij gaat deze complexe modellen verder uitbouwen én ontwikkelt en verbetert daarbij proactief de ETL in C# en SQL. Hierbij heb je alle ruimte om te sparren met (ervaren) collega-ETL-ontwikkelaars en werk je samen met onze BI-ontwikkelaars, software developers en consultants technische implementatie. Jouw team Je versterkt een gemotiveerd

Bekijk vacature »

XML JAVA ontwikkelaar

Bedrijfsomschrijving KOOP ontwikkelt en beheert momenteel onder meer de volgende producten: Wet- en regelgevingsportalen (o.a. Wetten.nl en CVDR ). Hier kunnen gebruikers op basis van trefwoorden en andere criteria wetten en regelgevingen inzichtelijk krijgen; PUC Open Data platform (o.a. puc.overheid.nl en afgeleide producten en interne kennisbanken). Hier publiceren overheidsorganisaties zelf hun uitvoeringsinformatie die publiekelijk beschikbaar is, zoals beleid, handboeken, werkinstructies en berichten. Wettenpocket+ (o.a. portaal en App voor Android en iOS). Hiermee kunnen de gebruikers Wettenpockets raadplegen. Een Wettenpocket bundelt relevante regelgeving en aanvullende informatie op een specifiek rechtsgebied, en kan worden samengesteld door verschillende organisaties binnen de Rijksoverheid. PLOOI

Bekijk vacature »

(Junior) Informatie Consultant

Functiebeschrijving NORISK IT Groep is een innovatieve en tevens groeiende IT-dienstverlener in Noord Nederland. De onderneming biedt specialistische kennis en ervaring voor het ontwerp, de levering en installatie, alsmede voor het onderhoud en beheer op systemen en infrastructuren, voor grote en middelgrote organisaties. Betrokkenheid, eigenaarschap en slagvaardig handelen hebben geleid tot langdurige klantrelaties en een prominente positie op de Noordelijke IT-markt. De NORISK IT Groep maakt sinds maart 2018 onderdeel uit van de Vincere Groep, een landelijke speler van zeven bedrijven op het gebied van IT, Communicatie en Security. NORISK Visionair, een dochteronderneming van de NORISK IT Groep, voert met

Bekijk vacature »

Senior fullstack .NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Advanced Mendix Developer Logistic Solutions

Advanced Mendix Developer Logistic Solutions Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende E-commerce markt met onze logistieke software en onze kritieke logistieke keten. Je doet dit door ontwikkeling en uitbreiding van onze Mendix Cloud omgeving, waarbij je complexe business processen vertaalt naar kritieke Mendix applicaties." Wat ga je doen? PostNL is becoming a postal tech company. Je komt te werken binnen PostNL Logistic Solutions. Daar gaan we net wat verder dan een standaardpakket of brief. Het gaat bijvoorbeeld om gekoeld vervoer van medicijnen (Health), Warehousing (Fulfilment), het leveren binnen hele strakke tijdvakken (Time

Bekijk vacature »

Ervaren .NET C# ontwikkelaar, inhouse, complex maa

Ben je als ervaren ontwikkelaar op zoek naar een analytische omgeving? Waar hoogopgeleiden en ervaren collega’s jouw kennis naar een hoger niveau kunnen tillen? Waar je met een leuk team samen aan innovatieve producten werkt? Dan zou de deze organisatie wel eens goed bij je kunnen passen. Voor een organisatie in Delft zoeken we momenteel een ervaren .NET C# ontwikkelaar. De organisatie richt zich op innovatieve en complexe maatwerk systemen met een maatschappelijke raakvlak. Hierbij moet je (afhankelijk van je niveau) mee kunnen denken met functionele en architectonische vraagstukken. De projecten kunnen uiteenlopend zijn en het is maar net wat

Bekijk vacature »

Full Stack Web Developer

Als Full Stack Web Developer werk je dagelijks aan het Corlido Online Procurement System (COPS). Deze non‐traditionele webshop geeft de klantenkring van Corlido de mogelijkheid om bij duizenden leveranciers te bestellen. In de functie zijn jouw activiteiten op hoofdlijnen: Het ontwikkelen van nieuwe functionaliteit om ons platform nog beter te maken. Het onderhouden van alle aspecten die benodigd zijn om het platform in de lucht te houden, waaronder API‐beheer en serveronderhoud. Nauw samenwerken met onze ontwikkelaar van het ERP‐pakket om de koppeling tussen de webshop en het ERP-pakket verder te ontwikkelen en te onderhouden. Samen met het team nadenken over

Bekijk vacature »

Junior Developer C#

Je maakt een vliegende start van je carrière bij Coolblue, door meteen mee te werken in een team. Hoe word ik Junior Developer C# bij Coolblue? Als Junior Developer ben je meteen vanaf de start onderdeel van een van de development teams. Omdat je jezelf graag nog verder wilt ontwikkelen, kijk je veel met je collega’s mee en volg je verschillende trainingen. Maar in de sprints pak je ook je eigen stories op, om meteen Coolblue iedere dag een beetje beter te kunnen maken. Ook junior developer C# worden bij Coolblue? Kai van Ommeren legt je uit hoe je dat

Bekijk vacature »

Fullstack .NET Ontwikkelaar

Bedrijfsomschrijving Onze klant is Europees leider op het gebied van software voor één specifieke markt. Hierbij houden zij rekening met de unieke eigenschappen van deze business, om de klant zo veel mogelijk te ondersteunen/ontzorgen. Het gaat om een kleine organisatie waar korte lijnen, ontwikkeling en initiatief centraal staan. Op dit moment zijn zij op zoek naar een Fullstack .NET ontwikkelaar welke zich gaat richten op het onderhoud van de huidige software, maar vooral ook op de volledige vernieuwing van het pakket. Dit laatste zal een traject van meerdere jaren zijn, gezien de complexiteit en de omvang van de software. Daarnaast

Bekijk vacature »

OutSystems developer

Bedrijfsomschrijving Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren. Jij zal hierbij vanuit jouw expertise de klant adviseren over hoe OutSystems als lowcode platform een toegevoegde waarde kan zijn en op welke manier deze gebruikt kan worden. Hierin neem jij uiteraard

Bekijk vacature »

Software Consultant Financieel

Software Consultant Financieel Volg jij liever de veranderingen in de financiële wet- en regelgeving dan een spannende Netflix-serie? En zet je die laatste veranderingen met veel plezier om naar gebruiksvriendelijke software voor zorgorganisaties in de caresector? Jouw baan Actuele wetten en regels vertalen in concrete ICT-oplossingen? Dat doe jij. Cursussen geven aan zorgprofessionals? Check! Een verpleeghuis of GGZ-instelling adviseren en ondersteunen? Ook dat is jouw job. Je bent de onmisbare schakel tussen onze ontwikkelaars en de eindgebruikers van onze software. Al jouw activiteiten zijn volledig gericht op de financiële processen binnen care-organisaties. Jouw team Software Consultant Financieel ben je niet

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »
Jorn Reed

Jorn Reed

27/05/2020 13:42:28
Quote Anchor link
Hoi allemaal.

Ik ben begonnen aan een validator class te schrijven die ik op 1 website voor meerdere formulieren te schrijven, ik heb dit ongeveer als schets geschreven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//index.php
$validator = new Validator();
$validator->validate($_POST);

//Validator.php
$data = [];
$errors = [];

public function validate($values){
  $foreach($values as $key => $value){
    switch($value){
      case is_array($value);
        $this->validate_array($key, $value);
        break;
      default:
        $this->validate_text($key, $value);
    }
  }
}

public function validate_text($key, $value){
  if(isset($value) && !empty($value)){
    $this->data[$key] = $value;
  } else {
    $key = ucfirst($key);
    $this->errors[$key] = "field for $key is required";
  }
}

public function validate_array($key, $value){
    $choices = array_filter($value);
    if(!empty($choices) && count($choices) > 0) {
       $this->data[$key] = $value;
    } else {
        $this->errors[$key] = "Make atleast one of the choices"
    }
}


Ik heb sowieso nog een functie nodig die checkt of er errors zijn, zo ja dan zou ik een error functie de errors moeten kunnen laten returnen naar de html om ze daar te plaatsen, en een functie die alle $data die ontvangen is kan versturen. Voor de rest zie ik zo gauw even geen foutjes, maar die zullen er vast wel tussen zitten.
 
PHP hulp

PHP hulp

24/01/2021 04:01:44
 
Ward van der Put
Moderator

Ward van der Put

27/05/2020 14:49:03
Quote Anchor link
Als je uitsluitend $validator->validate($_POST) aanroept, hoe weet je validator dan vervolgens hoe het formulier eruitziet en wat geldige en ongeldige formulierwaarden zijn?
 
Jorn Reed

Jorn Reed

27/05/2020 14:54:59
Quote Anchor link
Ik dacht dat ik met die foreach de velden kon loopen, en in de switch kan checken wat voor soort veld het is, en aan de hand daarvan de juiste validatie functie gebruiken.
 
Rob Doemaarwat

Rob Doemaarwat

27/05/2020 15:11:14
Quote Anchor link
Wat er niet is (bijvoorbeeld een niet aangevinkte checkbox zit niet in de $_POST) ga je dan ook niet controleren.

Is '123a' een (foutief) getal of een (correcte) string?

Wat als je at least 2 vinkjes moet zetten?

Wat als een string aan een bepaald formaat moet voldoen (min/max aantal tekens, geen cijfers, enz)?
 
Jorn Reed

Jorn Reed

27/05/2020 15:33:54
Quote Anchor link
In mijn geval is het met een array van iets dat in een $_POST variabel zit, is dat er minstens 1 waarde in de array moet zitten. een lege array zou dus een error moeten geven. Al die andere regels zoals wat je in je laatste zin zet, zou ik bijvoorbeeld een validate_email functie moeten maken om te checken of het een geldig email is, en voor andere velden het zelfde concept maar dan anders. Etc.
 
Thomas van den Heuvel

Thomas van den Heuvel

27/05/2020 16:34:26
Quote Anchor link
Een formulier bestaat uit velden. Aan velden kun je regels hangen. Bij de validatie zou de validatie-methode van het formulier de validatie-methode van het veld (voor alle velden, in een loop) aan moeten roepen. Elk veld zou vervolgens alle ingestelde regels voor dat veld moeten aflopen om te kijken of de validatie van het veld voldeed. Dit rapporteert het veld (object) terug aan het formulier (object), en uiteindelijk geeft het formulier een soort van reactie terug. Bijvoorbeeld ofwel een volledig gefilterd, gevalideerd array (van de oorspronkelijke POST data), ofwel false indien validatie mislukte.

Dan zul je bij velden nog leesbare foutmeldingen bij moeten houden, en deze op een of andere manier moeten bewaren als je terug wordt gestuurd naar het formulier. Deze zou je bijvoorbeeld op kunnen slaan in een sessie.

Idealiter zal er dus communicatie tussen de objecten plaatsvinden. Hierbij zou je zelfs de validatiemethoden aan een veld-class kunnen hangen, of er dus voor kunnen kiezen om hier aparte classes voor te maken, maar het is niet echt nodig om dit zover uit te splitsen allemaal, ook omdat de validatieregels vaak redelijk specifiek zijn, of op een specifieke manier gecontroleerd dienen te worden binnen het veld(type).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.