asp.net-core
modeller
Sök…
Modellvalidering med valideringsattribut
Valideringsattribut kan användas för att enkelt konfigurera modellvalidering.
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 inbyggda attributen är:
-
[CreditCard]
: Validerar att fastigheten har ett kreditkortsformat. -
[Compare]
: Validerar två egenskaper i en modellmatch. -
[EmailAddress]
: Validerar att fastigheten har ett e-postformat. -
[Phone]
: Validerar att fastigheten har ett telefonformat. -
[Range]
: Validerar fastighetsvärdet faller inom det givna intervallet. -
[RegularExpression]
: Validerar att data matchar det angivna reguljära uttrycket. -
[Required]
: Gör en fastighet som krävs. -
[StringLength]
: Validerar att en strängegenskap har högst den angivna maximala längden. -
[Url]
: Validerar att fastigheten har ett URL-format.
Modellvalidering med anpassat attribut
Om de inbyggda attributen inte är tillräckliga för att validera dina modelldata kan du placera din valideringslogik i en klass härrörande från ValidationAttribute. I det här exemplet är bara udda nummer giltiga värden för en modellmedlem.
Anpassat valideringsattribut
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.");
}
}
}
Modellklass
public class MyModel
{
[OddNumber]
public int Number { get; set; }
}
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow