Validatie Flashcards

(31 cards)

1
Q

Wat is data validatie?

A

Voorwaarden waaraan de datastructuren van een applicatie moeten voldoen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat is het verschil tussen validatie-definitie en validatie-logica?

A

validatie-definitie: Het definiëren van een voorwaarde

validatie-logica: het al dan niet geldig verklaren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wat is “bad practice” in data validatie

A

Op property niveau binnen de set-accessor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wat is “good practice” in data validatie

A

Via metadata (attributen) op type, veld, property

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Waarom is data validatie via metadata good practice?

A

Zorgt ineens voor de opsplitsing van validatie-definitie en validatie-logica

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wat is het Validation Framework?

A

Functionaliteit in .NET om validaties te definiëren en te controleren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Van waar installeren we packages en hoe doen we dat

A

NuGet en via CLI

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Geef 5 predefined validation-attributes

A
KeyAttribute
RequiredAttribute
MinLengthAttribute
MaxLengthAttribute
StringLengthAttribute
RangeAttribute
RegularExpressionAttribute
EmailAdressAttribute
...
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wat is het KeyAttribute?

A

Unieke identifier van een entiteit

Cfr. PK in een databank

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

RequiredAttribute?

A

Attribuut moet verplicht een waarde hebben, dwz dat het niet null mag zijn (!=null)

Bij string waarden mag het ook niet leeg zijn of enkel spaties bevatten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Waarbij moeten we opletten bij RequiredAttribute?

A

Value type zijn standaard verplicht dus heeft Required geen meerwaarde

Indien je deze niet verplicht wil maken dan moet je de value-type nullable maken (int?, byte?,…)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

RangeAttribute(int n,int m)?

A

De waarde van de property moet tussen n en m liggen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

MinLengthAttribute(int n)?

A

De waarde van de property die als datatype een array moet zijn moet minimaal n elementen bevatten

String = Array van chars

Werkt NIET op List

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

MaxLentghtAttribute(int n)?

A

De waarde van de property die als datatype een array moet zijn mag maximaal n elementen bevatten

String = array van chars

Werkt NIET op List

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

StringLengthAttribute(int max[, int min])?

A

De waarde van de property die als datatype een string moet zijn, mag maximaal max tekens hebben, en optioneel minimum min tekens bevatten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

RegularExpressionAttribute(string Regex)?

A

De waarde van de property moet voldoen aan de opgegeven regular expression. Indien ^ en $ aan respectievelijk aan begin en eind niet opgegeven worden, dan worden deze automatisch toegevoegd

17
Q

EmailAdressAttribute?

A

De waarde van de property moet een geldig email bevatten

18
Q

Wat is de validatorklasse?

A

Statische klasse die de mogelijkheid geeft om gedefinieerde validatie-definities uit te voeren

19
Q

Welke 2 methodes bevinden zich in de validatorklasse?

A

ValidateObject(Object, ValidationContext)

TryValidateObject(Object, ValidationContext, IEnumerable)

20
Q

Welke mogelijke parameters zijn er in de validatorklasse?

A

Object, ValidationContext, IEnumerable, ValidateAllProperties

21
Q

Object?

A

Het te valideren object

22
Q

ValidationContext?

A

Extra info mbt de validatie-definitie

23
Q

IEnumerable

A

lijst waarin de validatieerrors worden bijgehouden

24
Q

ValidateAllProperties?

A

Boolean, om te bepalen of enkel de required attributes gecontroleerd moeten worden of ook andere validaties

25
ValidateObject(Object, ValidationContext)?
Gooit een ' ValidationException ' bij de eerste validatie definitie waaraan niet voldaan wordt Bevat op zich één ' ValidationResult Message geeft ook de foutboodschap
26
TryValidateObject(Object, ValidationContext, IEnumerable)?
Returnwaarde ( boolean ) geeft aan of aan (alle) validatie definities voldaan is Lijst van ' ValidationResults ' wordt meegegeven waarin ongeldigheden toegevoegd worden
27
Wat zijn de properties van de ValidationResult klasse?
ErrorMessage en MemberNames
28
ErrorMessage?
string, info betreffende de ongeldige validatie
29
MemberNames
IEnumerable opsomming van de velden/ properties (als string waarden) die betrekking hebben op de uitgevoerde validatie
30
Wat is User-defined validations?
Eigen validatie logica inhaken op het Validation Framework Gebruik je om validatie voorwaarde te definiëren die niet mogelijk zijn via pre defined attributes Je gebruikt hiervoor de IValidatableObject interface
31
Leg uit Interface 'IValidatableObject'
Namespace : System.ComponentModel.DataAnnotations ``` Interface bevat één methode die je moet implementeren: IEnumerable Validate(ValidationContext context) ``` Wordt automatisch door het Validation Framework opgeroepen bij een controle met Validator.ValidateObject of Validator.TryValidateObject OPGELET: Er kunnen GEEN criteria waarden gedefinieerd worden, maar is binnen het type gedeclareerd dus alle members van het type zijn bereikbaar Bij gebruik in combinatie met 'validation attributes', zal deze methode enkel uitgevoerd worden als alle 'validation attributes' geldig TIP: Gebruik eventueel 'explicit interface implementatie'