使用多个提交建模和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个字段。 我想要做的是仅validationUserNamePassword ,如果按下第一个提交按钮, CellNumber仅按下FirstNameLastNameCellNumber ,如果按下第二个提交按钮。 我怎样才能做到这一点?

我会将我的模型分成两个类,然后使用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,...