Asp.net mvc 验证MVC5中的静态下拉列表

Asp.net mvc 验证MVC5中的静态下拉列表,asp.net-mvc,unobtrusive-validation,Asp.net Mvc,Unobtrusive Validation,我有一个下拉列表 型号 [Required(ErrorMessage = "Please selectvehicle")] public string VehicleRequested { get; set; } index.cshtml @Html.DropDownList("VehicleRequested", new List<SelectListItem> { new Sel

我有一个下拉列表

型号

 [Required(ErrorMessage = "Please selectvehicle")]
        public string VehicleRequested { get; set; }
index.cshtml

   @Html.DropDownList("VehicleRequested", new List<SelectListItem>

                 {
                    new SelectListItem{ Text="Active", Value = "1" },
                    new SelectListItem{ Text="Not-Active", Value = "0" }
                 })
                    @Html.ValidationMessageFor(model => model.VehicleRequested)
@Html.DropDownList(“车辆请求”,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
})
@Html.ValidationMessageFor(model=>model.vehiclerRequested)

我看不到所需的feild validation append,我在任何地方都错了,请使用
@Html.DropDownListFor()

@Html.DropDownListFor((model=>model.vehiclerrequested,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
})

使用
@Html.DropDownListFor()

@Html.DropDownListFor((model=>model.vehiclerrequested,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
})

使用
@Html.DropDownListFor()

@Html.DropDownListFor((model=>model.vehiclerrequested,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
})

使用
@Html.DropDownListFor()

@Html.DropDownListFor((model=>model.vehiclerrequested,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
})

您的下拉列表只有两项,一项带有
value=“0”
,另一项带有
value=“1”
“0”
“1”
都是有效字符串(两者都不是
null
),因此验证始终通过。您的属性永远不会无效,因此您永远不会出现验证错误

现在还不清楚为什么要将
int
值绑定到
string
属性,并且只显示两个值(“活动”和“非活动”),这表明属性实际上应该是
bool

如果要添加一个选项,如
“-请选择-”
,如果未选择其他两个选项之一,则会导致验证错误,然后使用接受
选项标签的选项

@Html.DropDownList("VehicleRequested", new List<SelectListItem>
{
    new SelectListItem{ Text="Active", Value = "1" },
    new SelectListItem{ Text="Not-Active", Value = "0" }
}, "-Please select-")
@Html.ValidationMessageFor(model => model.VehicleRequested)
@Html.DropDownList(“车辆请求”,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
},“-请选择-”)
@Html.ValidationMessageFor(model=>model.vehiclerRequested)
这会将第一个选项添加为
-请选择-
。请注意
属性没有值,因此如果在提交时选择该属性,
车辆请求
将为
,您将看到错误消息


旁注:建议您使用强类型助手-
@Html.DropDownListFor(m=>m.vehiclerrequested,…)
,并在控制器中构建您的
选择列表
,并将其作为
视图包
或(更好的)视图模型属性传递给视图。

您的dropdownlist只有两项,一项带有
值=“0”
,另一个带有
value=“1”
“0”
“1”
都是有效字符串(都不是
null
),因此验证始终通过。您的属性永远不会无效,因此您永远不会收到验证错误

现在还不清楚为什么要将
int
值绑定到
string
属性,并且只显示两个值(“活动”和“非活动”),这表明属性实际上应该是
bool

如果要添加一个选项,如
“-请选择-”
,如果未选择其他两个选项之一,则会导致验证错误,然后使用接受
选项标签的选项

@Html.DropDownList("VehicleRequested", new List<SelectListItem>
{
    new SelectListItem{ Text="Active", Value = "1" },
    new SelectListItem{ Text="Not-Active", Value = "0" }
}, "-Please select-")
@Html.ValidationMessageFor(model => model.VehicleRequested)
@Html.DropDownList(“车辆请求”,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
},“-请选择-”)
@Html.ValidationMessageFor(model=>model.vehiclerRequested)
这会将第一个选项添加为
-请选择-
。请注意
属性没有值,因此如果在提交时选择该属性,
车辆请求
将为
,您将看到错误消息


旁注:建议您使用强类型助手-
@Html.DropDownListFor(m=>m.vehiclerrequested,…)
,并在控制器中构建您的
选择列表
,并将其作为
视图包
或(更好的)视图模型属性传递给视图。

您的dropdownlist只有两项,一项带有
值=“0”
,另一个带有
value=“1”
“0”
“1”
都是有效字符串(都不是
null
),因此验证始终通过。您的属性永远不会无效,因此您永远不会收到验证错误

现在还不清楚为什么要将
int
值绑定到
string
属性,并且只显示两个值(“活动”和“非活动”),这表明属性实际上应该是
bool

如果要添加一个选项,如
“-请选择-”
,如果未选择其他两个选项之一,则会导致验证错误,然后使用接受
选项标签的选项

@Html.DropDownList("VehicleRequested", new List<SelectListItem>
{
    new SelectListItem{ Text="Active", Value = "1" },
    new SelectListItem{ Text="Not-Active", Value = "0" }
}, "-Please select-")
@Html.ValidationMessageFor(model => model.VehicleRequested)
@Html.DropDownList(“车辆请求”,新列表
{
新建SelectListItem{Text=“Active”,Value=“1”},
新建SelectListItem{Text=“非活动”,Value=“0”}
},“-请选择-”)
@Html.ValidationMessageFor(model=>model.vehiclerRequested)
这会将第一个选项添加为
-请选择-
。请注意
属性没有值,因此如果在提交时选择了该属性,
车辆请求