Пользовательский атрибут проверки не работает после публикации - PullRequest
0 голосов
/ 08 мая 2018

Недавно я участвовал в проекте MVC, и мне потребовалось создать собственный атрибут проверки для определенной модели,

[AttributeUsage(AttributeTargets.Property)]
public class TimeGreaterThanAttribute : ValidationAttribute
{
    public TimeGreaterThanAttribute(string timeToCompareToFieldName, string dayOff)
    {
        TimeToCompareToFieldName = timeToCompareToFieldName;
        DayOff = dayOff;
    }

    private string TimeToCompareToFieldName { get; set; }
    private string DayOff { get; set; }

    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        ... 
    }
}

public class ScreenConfigViewModel
{
    public bool WholeDayOff { get; set; }
    public string StartTime { get; set; }
    [TimeGreaterThan("StartTime", "WholeDayOff")]
    public string EndTime { get; set; }
}

Что-то вроде примера, показанного выше, и я протестировал локально, он работает довольно хорошо, и никаких проблем.

Проблема

Но как только я публикую и разверную на работающем сервере, пользовательская проверка не будет работать, она не проверяет значениене выдает никаких сообщений об ошибках.И я не могу понять, почему.

Из-за другой среды я предположил, что на ней есть конфигурация?Где требуется включить пользовательский атрибут проверки для его работы.Но я не могу понять, где и в какой конфигурации.

Кто-нибудь знает, в чем проблема?или у него нет такой конфигурации, и только мой код имеет проблему.

Извините, что не предоставил достаточного количества кодов, просто пытаюсь узнать, есть ли проблемы с конфигурацией или проблемы с кодированием

Извините, если я плохо объясняю ситуацию.Любая помощь в этом будет оценена.Спасибо.

1 Ответ

0 голосов
/ 08 мая 2018

Проверьте, опубликованы ли успешно опубликованные среды ниже 2 dll или нет Microsoft.Web.Mvc.DataAnnotations.dll сборка и System.ComponentModel.DataAnnotations.dll сборка

Причиной может быть отсутствие библиотек в вашей среде.

Дайте мне знать, сработало ли решение для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...