Entity Framework supporta la validazione degli oggetti prima che questi vengano persistiti. Per specificare le regole di validazione, dobbiamo utilizzare le data annotations del .NET Framework come Required, MaxLength e così via.
Tuttavia, ci sono casi in cui la validazione non può essere specificata con una data annotation in quanto il codice di validazione è complesso. Nei casi in cui le data annotation non sono sufficienti, possiamo utilizzare l'interfaccia IValidatableObject.
Quest'interfaccia espone il metodo Validate all'interno del quale specifichiamo la validazione e ritorniamo una lista di oggetti ValidationResult che rappresentano gli eventuali errori. Se la lista è vuota, la validazione passa, altrimenti Entity Framework blocca la persistenza.
public class Person : IValidatableObject
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public int Age { get; set; }
public IEnumerable<ValidationResult> Validate(
ValidationContext validationContext)
{
if (Age < 18)
{
yield return new ValidationResult("Utente non magiorenne");
}
}
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Impostare automaticamente l'altezza del font tramite CSS
Creare un agente A2Acon Azure Logic Apps
Semplificare la gestione dei modelli con Azure AI Foundry Model Router
Blazor e Static Web Assets in .NET 10
Utilizzare il top layer in HTML
Interagire con Azure DevOps tramite MCP Server
Recuperare gli audit log in Azure DevOps
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Ridimensionamento automatico input tramite CSS
Gestire il routing HTTP in Azure Container App
Esporre workflow come server MCP con Azure Logic Apps


