Modelado y validación de un formulario con envío múltiple
Estoy tratando de descubrir la forma correcta de modelar y validar un formulario con múltiples etiquetas de formulario y múltiples botones de envío usando ASP.Net Core 2. Lo que tengo es un formulario donde un usuario puede ingresar su nombre de usuario y contraseña e iniciar sesión O ingrese su nombre, apellido y número de celular y regístrese. Aquí está mi 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; }
}
Aquí está mi código de vista de maquinilla de afeitar 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>
Ahora el problema con el que me encuentro es con mi validación. Porque todos mis campos están marcados con la[Required]
atributo, cuando envío el formulario con cualquiera de los botones de envío, está validando los 5 campos. Lo que quiero hacer es validarUserName
yPassword
solo, SI se presiona el primer botón de enviar O validarFirstName
, LastName
yCellNumber
solamente, SI se presiona el segundo botón de envío. ¿Cómo puedo conseguir esto