How do I get property injection working in Ninject for a ValidationAttribute in MVC?
Posted
by jaltiere
on Stack Overflow
See other posts from Stack Overflow
or by jaltiere
Published on 2010-04-29T19:04:53Z
Indexed on
2010/04/29
19:07 UTC
Read the original article
Hit count: 276
ninject-2
|asp.net-mvc-2
I have a validation attribute set up where I need to hit the database to accomplish the validation. I tried setting up property injection the same way I do elsewhere in the project but it's not working. What step am I missing?
public class ApplicationIDValidAttribute : ValidationAttribute
{
[Inject]
protected IRepository<MyType> MyRepo;
public override bool IsValid(object value)
{
if (value == null)
return true;
int id;
if (!Int32.TryParse(value.ToString(), out id))
return false;
// MyRepo is null here and is never injected
var obj= MyRepo.LoadById(id);
return (obj!= null);
}
One other thing to point out, I have the Ninject kernel set up to inject non-public properties, so I don't think that is the problem. I'm using Ninject 2, MVC 2, and the MVC 2 version of Ninject.Web.MVC.
Thanks!
© Stack Overflow or respective owner