Je travaille sur une application principale .net où toutes les validations doivent être dynamiques (Db Driven). Comment puis-je implémenter la validation de modèle personnalisé dans le noyau .net?Reliure et validation du modèle personnalisé
-2
A
Répondre
0
Vous pouvez utiliser Remote Validation pour les validations où vous devez aller sur le serveur (puis sur la base de données). Vous devez spécifier l'action et le contrôleur et il sera appelé pendant la validation du côté client via AJAX. Ensuite, côté serveur, vous pouvez faire tout ce dont vous avez besoin pour valider. Dans votre cas, vous devrez vérifier la base de données. Voici un exemple:
public class User
{
[Remote(action: "VerifyEmail", controller: "Users")]
public string Email { get; set; }
}
ci-dessus utilise l'attribut Remote
et en spécifiant l'action à utiliser VerifyEmail
du contrôleur Users
. Dans UsersController
classe que vous aurez quelque chose comme ceci:
[AcceptVerbs("Get", "Post")]
public IActionResult VerifyEmail(string email)
{
if (!_userRepository.VerifyEmail(email))
{
return Json(data: $"Email {email} is already in use.");
}
return Json(data: true);
}
Le framework MVC prendra soin de tous les AJAX (ING) pour vous si vous n'avez pas à vous soucier de tout cela. Je l'ai déjà utilisé plusieurs fois et ça marche très bien.