Asp.net mvc 如何跨两个屏幕设置类的验证?
我有一个名为employee的类,其中用户在一个屏幕上输入属性值,然后在另一个屏幕上输入更多值。 我遇到的问题是如何验证这些属性? 如果我为类的属性设置验证属性,我就有问题了。无论字段是否显示在表单上,都会进行验证。 因此,对于我的Employee类,我不得不注释掉一些验证,以使其在1个屏幕上工作。另一个可能不行。 私有密封类元数据 { [HiddenInput(DisplayValue=false)] public int EmployeeId{get;set;}Asp.net mvc 如何跨两个屏幕设置类的验证?,asp.net-mvc,Asp.net Mvc,我有一个名为employee的类,其中用户在一个屏幕上输入属性值,然后在另一个屏幕上输入更多值。 我遇到的问题是如何验证这些属性? 如果我为类的属性设置验证属性,我就有问题了。无论字段是否显示在表单上,都会进行验证。 因此,对于我的Employee类,我不得不注释掉一些验证,以使其在1个屏幕上工作。另一个可能不行。 私有密封类元数据 { [HiddenInput(DisplayValue=false)] public int EmployeeId{get;set;} [Displ
[DisplayName("Forename")]
[DataType(DataType.Text)]
[Required(ErrorMessage = "Forename is required")]
public string Forename { get; set; }
[DisplayName("Surname")]
[DataType(DataType.Text)]
[Required(ErrorMessage = "Surname is required")]
public string Surname { get; set; }
[DisplayName("Middle Names")]
[DataType(DataType.Text)]
public string Middlenames { get; set; }
//[DisplayName("User Name")]
//[DataType(DataType.Text)]
//[Required(ErrorMessage = "User name is required")]
//public string UserName { get; set; }
[DisplayName("Employee Number")]
[DataType(DataType.Text)]
[Required(ErrorMessage = "EmployeeNumber is required")]
public string EmployeeNumber { get; set; }
[DisplayName("Department")]
[UIHint("DropDownList")]
[Required(ErrorMessage = "You must select a department from a division")]
public int DepartmentId { get; set; }
[DisplayName("User Role")]
[UIHint("DropDownList")]
[Required(ErrorMessage = "You must select a role")]
public int SHP_UserRoleId { get; set; }
//[DisplayName("Email")]
//[DataType(DataType.EmailAddress)]
//[Required(ErrorMessage = "Email is required")]
//[RegularExpression(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$", ErrorMessage = "Not a valid email")]
//[UniqueEmail(ErrorMessage = "User already exists")]
//public string EmailAddress { get; set; }
[DisplayName("End Date")]
public DateTime? EndDate { get; set; }
}
这是人们在视图中使用业务模型时遇到的一个常见问题,原因是业务模型更接近业务,视图更接近应用程序(它只是此业务模型的一种表示)。今天有两个屏幕,明天可能有三个
出于这个原因,我建议您使用反映给定视图的视图模型。因此,在您的情况下,每个视图可以有两个视图模型,并从同一个业务模型中填充它们。验证属性可以放在视图模型上。为了避免在业务模型和视图模型之间转换时出现样板代码,您可以使用。您指向Automapper的链接看起来非常有趣。我需要了解如何使用它。但计划使用Automapper生成视图模型类,这些类将具有验证属性。