Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc mvc枚举单选按钮必填字段_Asp.net Mvc_Asp.net Mvc 4_C# 4.0_Model View Controller - Fatal编程技术网

Asp.net mvc mvc枚举单选按钮必填字段

Asp.net mvc mvc枚举单选按钮必填字段,asp.net-mvc,asp.net-mvc-4,c#-4.0,model-view-controller,Asp.net Mvc,Asp.net Mvc 4,C# 4.0,Model View Controller,我使用枚举类显示单选按钮 public enum RegisteredBy { [Display(Name = "Customer", Order = 0)] H, [Display(Name = "Dealer/Contractor", Order = 1)] S, } 当我在视图和提交中呈现此内容时,未选中任何单选按钮。即使它将“H”作为默认值。这样它就不会显示任何验证消息 @using ConsumerP

我使用枚举类显示单选按钮

public enum RegisteredBy
    {
        [Display(Name = "Customer", Order = 0)]
        H,
        [Display(Name = "Dealer/Contractor", Order = 1)]
        S,
    }
当我在视图和提交中呈现此内容时,未选中任何单选按钮。即使它将
“H”
作为默认值。这样它就不会显示任何验证消息

  @using ConsumerProductRegistration.Models;
    @using ProductRegistration.Models.Enums;
    @model ProductRegistration.Models.Registration

        @Html.RadioButtonFor(m => m.RegisteredBy, RegisteredBy.H, new { id = "RegisteredByCustomer" })
        @Html.Label("Customer")<br />
        @Html.RadioButtonFor(m => m.RegisteredBy, RegisteredBy.S, new { id = "RegisteredByDealer" })
        @Html.Label("Dealer/Contractor")
 @Html.ValidationMessageFor(m => m.RegisteredBy)
鉴于:

public ActionResult CustomerInfo(Registration registration)
        {
            return View(registration);
        }

请建议我。如果用户没有选择,我们应该显示错误消息。

枚举元素的默认基础类型是
int
。默认情况下,第一个枚举数的值为0,每个后续枚举数的值增加1

当您不选择任何内容并发布表单时,将自动设置默认值0(默认值为整数)

在这种情况下,您可以使用
[Required]
属性使您的属性为null,当未选择任何内容时,该属性将null作为值发送。由于它用
[Required]
属性修饰,它将给您提供必需的字段验证错误

[Required]
public RegisteredBy? RegisteredBy { get; set; }

是否将属性设置为null-
公共注册表项?RegisteredBy{get;set;}
是它正在工作。。。如果出现错误,如何删除控件的边框(红色)。我不确定是否理解,您已将其标记为
[必需]
,因此如果不选择某个选项,将出现验证错误。为什么不想指出错误?我只想显示错误消息。但默认情况下,单选按钮控件边框以红色高亮显示。我不想显示控件的红色边框。这只是修改.css文件的问题。
[Required]
public RegisteredBy? RegisteredBy { get; set; }