У меня есть проверка на стороне клиента, которая запрещает пользователю вводить дату только в определенном диапазоне, который 20 лет назад.Это работает нормально.Но проблема в том, что когда пользователь меняет время своего браузера на 1 год, тогда браузер позволяет вводить дату, диапазон которой превышает 20 лет.Мы используем MVC для этого.У нас есть 4 вкладки, где проверка должна происходить во 2-й форме, но вызов на стороне сервера происходит, когда мы сохраняем все формы в форме и вызываем серверную часть на последней вкладке.Как я могу добиться этого?
Я уже добавил некоторую проверку на стороне сервера, которая ограничивает пользователя со стороны сервера, но это происходит на последней вкладке, когда пользователь нажимает кнопку "Отправить".Я хочу, чтобы, когда пользователь нажимал кнопку «Далее» или, по крайней мере, сразу после того, как пользователь вводил значение даты на самой второй вкладке, я хочу, чтобы эта логика происходила.Код, который я попробовал, выглядит следующим образом:
var enrolledVal = Convert.ToDateTime(model.enrolledValue);
var a = (today.Year * 100 + today.Month) * 100 + today.Day;
var b = (enrolledVal.Year * 100 + enrolledVal.Month) * 100 + enrolledVal.Day;
var enrolledYears = (a - b) / 10000;
if (enrolledYears > 20)
{
var error = new JsonErrorModel { ErrorCode = -1, ErrorMessage = "Enrolled Date Exceeded 20 years"};
return Json(error);
}