Asp.net mvc 3 aspnet mvc modelState如何知道如何检查属性的有效性?

Asp.net mvc 3 aspnet mvc modelState如何知道如何检查属性的有效性?,asp.net-mvc-3,Asp.net Mvc 3,我有一个班的员工 public class Employee { public string LastName { get; set; } public decimal Salary { get; set; } } 公营雇员 { 公共字符串LastName{get;set;} 公共十进制工资{get;set;} } 在EmployeesController中,方法 [HttpPostAttribute] public ActionResult Create(Employee employ

我有一个班的员工

public class Employee { public string LastName { get; set; } public decimal Salary { get; set; } } 公营雇员 { 公共字符串LastName{get;set;} 公共十进制工资{get;set;} } 在EmployeesController中,方法

[HttpPostAttribute] public ActionResult Create(Employee employee) { } [HttpPostAttribute] 公共操作结果创建(员工) { } 如果用户在员工表单的工资字段中输入“1,2,3”,则ModelState将无效

  • “1,2,3”是一个有效的C#十进制数,但更重要
  • Asp.NETMVC为什么/如何/在什么基础上检查输入字符串的有效性
  • 我没有找到关于这方面的官方文件。有人能解释一下吗?

    这就是工作原理(参见第二个响应,基本上十进制模型活页夹返回1、2和/或3的false…)。只把1,2和3看作整数

    试着在1点通过,就可以了

    这都是关于魔法的,这是和

    这是一个样品

    您还可以下载源代码,以了解它在做什么。网站提供了一些很好的信息,也可能对您有所帮助

    编辑-在评论中回答您的问题…

    您可以使用更改错误消息。也请查看。如果您不喜欢默认/内置的工作方式,也可以创建自己的数据注释。你也可以


    下面是另一个可以用于验证的技术。您可以直接向模型添加验证,也可以使用注释。您特别感兴趣的可能是使用接口、IValidatableObject接口和/或进行验证

    一,。错误消息在哪里?它们是否在MVC模型绑定中硬编码?如果我需要非英语错误消息怎么办?2.对于小数,如果用户输入非英语形式的小数怎么办?3.如何抑制“内置”错误检查和错误消息?这个问题充满了旧的和已删除的链接,没有实际的解释或总结这些链接中应该包含的内容。