IValidatableObject в отдельных сборках

Привет, я пытаюсь реализовать интерфейс IValidableObject в проекте ASPNET MVC 4. Моя модель находится в другой сборке, когда фреймворк выполняет мой метод проверки, он не показывает validationContext и показывает мне эту ошибку: validationContext Не удается получить доступ к нестатическому члену внешнего типа «AS.Core.Model.Horario.Validate» через вложенный тип «AS.Core.Model.Horario»

Понятно, что проблема в отдельных сборках, но я понятия не имею, что сделать, чтобы это заработало, кто-нибудь может мне помочь?

Это мой код:

public class Horario : IValidatableObject
{
    [Range(0, 6, ErrorMessage = "Dia inválido")]
    public byte Dia { get; set; }

    [DataType(DataType.Time, ErrorMessage = "Horário de início inválido")]
    public TimeSpan? HorarioInicio { get; set; }

    [DataType(DataType.Time, ErrorMessage = "Horário fim inválido")]
    public TimeSpan? HorarioFim { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        if (HorarioInicio != null && HorarioFim == null || HorarioFim != null && HorarioInicio == null)
        {
            yield return new ValidationResult("Horário inválido");
        }
    }
}

person Eduardo Cucharro    schedule 07.05.2012    source источник


Ответы (1)


Вам нужно написать ViewModel, которая будет IValidatableObject, и перенести данные из нее в вашу бизнес-модель в контроллере после проверки.

person Kirill Bestemyanov    schedule 01.08.2012