asp.net-core
modellen
Zoeken…
Modelvalidatie met validatiekenmerken
Validatie-attributen kunnen worden gebruikt om modelvalidatie eenvoudig te configureren.
public class MyModel
{
public int id { get; set; }
//sets the FirstName to be required, and no longer than 100 characters
[Required]
[StringLength(100)]
public string FirstName { get; set; }
}
De ingebouwde attributen zijn:
-
[CreditCard]
: valideert dat de accommodatie een creditcardindeling heeft. -
[Compare]
: valideert twee eigenschappen in een modelovereenkomst. -
[EmailAddress]
: valideert dat de eigenschap een e-mailindeling heeft. -
[Phone]
: valideert dat de eigenschap een telefoonindeling heeft. -
[Range]
: valideert dat de eigenschapswaarde binnen het gegeven bereik valt. -
[RegularExpression]
: valideert dat de gegevens overeenkomen met de opgegeven reguliere expressie. -
[Required]
: maakt een eigenschap vereist. -
[StringLength]
: valideert dat een[StringLength]
maximaal de gegeven maximale lengte heeft. -
[Url]
: valideert dat de eigenschap een URL-indeling heeft.
Modelvalidatie met aangepast kenmerk
Als de ingebouwde kenmerken niet voldoende zijn om uw modelgegevens te valideren, kunt u uw validatielogica in een klasse plaatsen die is afgeleid van ValidationAttribute. In dit voorbeeld zijn alleen oneven getallen geldige waarden voor een modellid.
Aangepast validatiekenmerk
public class OddNumberAttribute : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
try
{
var number = (int) value;
if (number % 2 == 1)
return ValidationResult.Success;
else
return new ValidationResult("Only odd numbers are valid.");
}
catch (Exception)
{
return new ValidationResult("Not a number.");
}
}
}
Model Klasse
public class MyModel
{
[OddNumber]
public int Number { get; set; }
}
Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow