使用多个提交建模和validation表单
我试图找出使用ASP.Net Core 2建模和validation具有多个表单标签和多个提交按钮的表单的正确方法。我所拥有的是一个表单,用户可以输入用户名和密码并登录OR输入他们的名字,姓氏和手机号码并注册。 这是我的模型:
public class Landing { [Required] public string Username { get; set; } [Required] public string Password { get; set; } [Required] public string FirstName { get; set; } [Required] public string LastName { get; set; } [Required] public string CellNumber { get; set; } }
这是我的相关剃刀视图代码:
@model MyApp.ViewModels.Landing
现在遇到的问题是我的validation。 因为我的所有字段都标有[Required]
属性,所以当我使用提交按钮提交表单时,它会validation所有5个字段。 我想要做的是仅validationUserName
和Password
,如果按下第一个提交按钮, CellNumber
仅按下FirstName
, LastName
和CellNumber
,如果按下第二个提交按钮。 我怎样才能做到这一点?
我会将我的模型分成两个类,然后使用ViewModel
代替:
public class SignIn { [Required] public string Username { get; set; } [Required] public string Password { get; set; } } public class SignUp { [Required] public string FirstName { get; set; } [Required] public string LastName { get; set; } [Required] public string CellNumber { get; set; } } public class LandingViewModel { public SignIn SignIn { get; set; } public SignUp SignUp { get; set; } }
然后:
@model MyApp.ViewModels.LandingViewModel SignIn.Username, SignIn.Password, SignUp.FirstName,...