首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要在MVC中使用表单验证从服务器端验证DateTime

问需要在MVC中使用表单验证从服务器端验证DateTime
EN

Stack Overflow用户
提问于 2019-06-05 23:20:21
回答 1查看 439关注 0票数 0

我有一个客户端的验证,限制用户只在一定范围内输入日期,这是从现在起20年前。这工作得很好。但问题是,当用户将浏览器时间改回1年时,浏览器允许输入大于20年的日期。为此,我们使用了MVC。我们有4个选项卡,在第二个表单中进行验证,但是当我们将所有表单保存在表单中时,服务器端调用就会发生,并且我们在最后一个选项卡中调用服务器端。我如何才能做到这一点?

我已经在服务器端添加了一些验证,它限制用户来自服务器端,但这发生在最后一个选项卡中,当用户单击提交时。我想要的是,当用户单击下一步按钮或至少在用户输入第二个选项卡中的日期值后立即,我希望这个逻辑发生。我尝试的代码如下:

代码语言:javascript
复制
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);
}
EN

回答 1

Stack Overflow用户

发布于 2019-06-05 23:25:42

我想这可能会有帮助

获取注册日期的年份:

代码语言:javascript
复制
var enrolledVal = Convert.ToDateTime(model.enrolledValue).Year;

获取当前年份

代码语言:javascript
复制
var current = DateTime.Now.Year;

找出差异

代码语言:javascript
复制
var result = enrolledVal - current;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56463448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档