c# - asp.net core razor 视图中的可选复选框验证
问题描述
遵循此 stackoverflow 帖子中的示例: 带布尔值的单选按钮
我想使用复选框而不是单选按钮来创建相同的场景。本质上选项:IsDomestic, IsInternational
。因此,当用户第一次到达视图时,最初不应选择复选框。因此,由于布尔值只有 true 或 false,因此用户有机会选择一个选项而不默认选择一个选项。
所以我在我的模型中设置了这些:
public bool? IsDomestic {get;set;}
public bool? IsInternational {get;set;}
我知道第一步是使模型字段可以为空布尔值。我想使用 .net 核心来实现它asp-for="checkbox"
解决方案
您甚至不需要使这些字段可以为空。默认值应为 false,因此在视图上显示为空。这是一个工作示例:
模型:
public class InputModel
{
[Required]
[EmailAddress]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
看法:
<div class="form-group">
<div class="checkbox">
<label class="float-left" asp-for="Input.RememberMe">
<input asp-for="Input.RememberMe" />
<label asp-for="Input.RememberMe"></label>
</label>
<a class="float-right" asp-page="./Register" asp-route-returnUrl="@Model.ReturnUrl">Sign Up</a>
</div>
</div>
结果: