Недавно я работал над проектом 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; }
}
Что-то вроде примера, показанного выше, и я протестировал локально, он работает довольно хорошо и вообще без проблем.
Проблема
Но как только я публикую и развертываю на рабочем сервере, пользовательская проверка не работает, она не проверяет значение, не выдает никаких сообщений об ошибках. И я не могу понять, почему.
Я предположил, что из-за другой среды на нем есть конфигурация? Где требуется включить настраиваемый атрибут проверки, чтобы он работал. Но я не могу понять, где и какая конфигурация.
Кто-нибудь знает, в чем проблема? или у него нет такой конфигурации, и проблема только в моем коде.
Извините, что не предоставил достаточно кодов, просто пытаюсь понять, что это: проблемы с конфигурацией или проблемы с кодированием
Извините, если плохо объясняю ситуацию. Любая помощь в этом будет оценена. Спасибо.
IsValid()
- person   schedule 08.05.2018