asp.net-core
Modelli
Ricerca…
Validazione del modello con Validation Attrributes
Gli attributi di convalida possono essere utilizzati per configurare facilmente la convalida del modello.
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; }
}
Gli attributi incorporati sono:
-
[CreditCard]
: convalida che la proprietà abbia un formato di carta di credito. -
[Compare]
: convalida due proprietà in una corrispondenza del modello. -
[EmailAddress]
: convalida che la proprietà ha un formato email. -
[Phone]
: convalida che la proprietà ha un formato telefonico. -
[Range]
: convalida il valore della proprietà rientra nell'intervallo specificato. -
[RegularExpression]
: convalida che i dati corrispondano all'espressione regolare specificata. -
[Required]
: rende necessaria una proprietà. -
[StringLength]
: convalida che una proprietà stringa abbia al massimo la lunghezza massima specificata. -
[Url]
: convalida che la proprietà ha un formato URL.
Convalida del modello con attributo personalizzato
Se gli attributi incorporati non sono sufficienti per convalidare i dati del modello, è possibile inserire la logica di convalida in una classe derivata da ValidationAttribute. In questo esempio, solo i numeri dispari sono valori validi per un membro del modello.
Attributo di convalida personalizzato
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.");
}
}
}
Classe di modello
public class MyModel
{
[OddNumber]
public int Number { get; set; }
}
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow