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

Привет, я пытаюсь реализовать интерфейс IValidableObject в проекте ASPNET MVC 4. Моя модель находится в другой сборке, когда каркас выполняет мой метод validate, он не показывает 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");
        }
    }
}

1 ответ

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

Другие вопросы по тегам