Bloc de validation vs Nhibernate.Validator
-
03-07-2019 - |
Question
Je recherche un cadre de validation et, bien que j'utilise déjà NHibernate, je songe à utiliser NHibernate.validator du projet contrib, mais je regarde également MS Validation Block, qui semble être robuste, mais je ne suis pas encore entré dans les détails. Je me demande encore si quelqu'un a déjà pénétré dans ces deux cadres et comment se passe l'expérience?
La solution
NHibernate Validator ne vous oblige pas à utiliser NHibernate pour la persistance. L'utilisation peut être aussi simple que:
var engine = new ValidatorEngine();
InvalidValue[] errors = engine.Validate(someModelObjectWithAttributes);
foreach(var error in errors)
{
Console.WriteLine(error.Message);
}
Bien sûr, il peut s’accrocher à NHibernate et empêcher la persistance d’objets non valides, mais vous pouvez également l’utiliser pour valider des objets non persistants.
Autres conseils
Pour l’essentiel, je dirais que Spring.NET est assez indépendant. Ce qui signifie que cela ne devrait pas vous obliger à ré-architecte. Vous pouvez utiliser autant ou aussi peu que vous le souhaitez. Il devrait être assez facile d'écrire un objet que vous pouvez injecter dans les classes nécessitant une validation avec spring. Vous devez ensuite câbler cet objet dans le château pour prendre le nom du "Groupe de validation". ou " Validateurs " vous avez besoin, puis faites en sorte que spring injecte les validateurs dans cet objet où votre formulaire / objet métier / service utiliserait ensuite les validateurs.
Voici un lien vers la documentation, la validation correspond à la section 12:
http://www.springframework.net /docs/1.2.0-M1/reference/html/index.html
Utilisez-vous simplement Castle ou utilisez-vous le monorail?
Bien sûr, vous pouvez essayer d’écrire votre propre cadre de validation. Pour par exemple. Karl Seguin vous aidera:
http: / /codebetter.com/blogs/karlseguin/archive/2009/04/26/validation-part-1-getting-started.aspx
http: / /codebetter.com/blogs/karlseguin/archive/2009/04/27/validation-part-2-client-side.aspx
http: / /codebetter.com/blogs/karlseguin/archive/2009/04/28/validation-part-3-server-side.aspx
C'est une très bonne solution:)
Que diriez-vous de D) Aucune de ces réponses. Je me souviens de l’évaluation de cette année et j’ai décidé d’utiliser le cadre de validation de Spring.NET.
Si vous utilisez NHibernate, vous souhaitez probablement utiliser les fonctionnalités de Spring.NET pour utiliser également NHibernate.