alidação seletiva de propriedades filho - Validação fluente no MVC
Estou usando a Validação Fluente com a biblioteca Ninject.Web.Mvc.FluentValidation para conectar automaticamente todos os meus validadores (e usar a injeção de dependência para criar os validadores
Criei os seguintes modelos:
public class Parent
{
public string Name { get; set; }
public Child Child1 { get; set; }
public Child Child2 { get; set; }
}
public class Child
{
public string ChildProperty { get; set; }
}
Com os seguintes validadores:
public class ParentValidator : AbstractValidator<Parent>
{
public ParentValidator()
{
RuleFor(model => model.Name).NotEmpty();
RuleFor(model => model.Child1).SetValidator(new ChildValidator());
}
}
public class ChildValidator : AbstractValidator<Child>
{
public ChildValidator()
{
RuleFor(model => model.ChildProperty).NotEmpty();
}
}
My Views:
@model Parent
@using(Html.BeginForm())
{
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
@Html.EditorFor(model => model.Child1)
@Html.EditorFor(model => model.Child2)
<input type="submit" value="Save" />
}
@model Child
@Html.EditorFor(model => model.ChildProperty)
@Html.EditorFor(model => model.ChildProperty)
O que estou tentando realizar é ter um modelo pai com duas propriedades filho. A propriedade Child1 é necessária, mas a propriedade Child2 é opcional. Isso funciona bem em circunstâncias normais, mas quando eu uso o módulo Ninject para conectar os validadores automaticamente, ele está detectando que existe um tipo de validador para a classe Child e conectando todas as propriedades Child no Parent.
Existe alguma maneira de impedir que isso aconteça sem se livrar do módulo Ninjec