Modelando e validando um formulário com vários envios
Estou tentando descobrir a maneira correta de modelar e validar um formulário com várias tags de formulário e vários botões de envio usando o ASP.Net Core 2. O que eu tenho é um formulário no qual um usuário pode digitar seu nome de usuário e senha e entrar OU digite seu nome, sobrenome e número de célula e inscreva-se. Aqui está o meu modelo:
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; }
}
Aqui está o meu código de exibição de navalha relevante:
@model MyApp.ViewModels.Landing
<form method="post">
<div>
<input asp-for="Username" type="text" />
</div>
<div>
<input asp-for="Password" type="password" />
</div>
<div>
<input type="submit" value="Sign In" />
</div>
</form>
<form method="post">
<div>
<input asp-for="FirstName" type="text" />
</div>
<div>
<input asp-for="LastName" type="text" />
</div>
<div>
<input asp-for="CellNumber" type="text" />
</div>
<div>
<input type="submit" value="Sign Up" />
</div>
</form>
Agora, o problema que encontro é com a minha validação. Porque todos os meus campos estão marcados com o[Required]
atributo, quando envio o formulário usando o botão enviar, ele está validando todos os 5 campos. O que eu quero fazer é validarUserName
ePassword
somente se o primeiro botão de envio for pressionado OU validadoFirstName
, LastName
eCellNumber
somente se o segundo botão de envio for pressionado. Como posso conseguir isso?