首页 > 解决方案 > asp.net core razor 视图中的可选复选框验证

问题描述

遵循此 stackoverflow 帖子中的示例: 带布尔值的单选按钮

我想使用复选框而不是单选按钮来创建相同的场景。本质上选项:IsDomestic, IsInternational。因此,当用户第一次到达视图时,最初不应选择复选框。因此,由于布尔值只有 true 或 false,因此用户有机会选择一个选项而不默认选择一个选项。

所以我在我的模型中设置了这些:

public bool? IsDomestic {get;set;}
public bool? IsInternational {get;set;}

我知道第一步是使模型字段可以为空布尔值。我想使用 .net 核心来实现它asp-for="checkbox"

标签: c#asp.netasp.net-mvcasp.net-core-mvc

解决方案


您甚至不需要使这些字段可以为空。默认值应为 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>

结果:

在此处输入图像描述


推荐阅读