C# ASP.NET MVC Html帮助程序:在枚举ddl中添加验证

C# ASP.NET MVC Html帮助程序:在枚举ddl中添加验证,c#,asp.net-mvc,html-helper,asp.net-mvc-validation,C#,Asp.net Mvc,Html Helper,Asp.net Mvc Validation,我是ASP.NETMVC的新手。对于这个问题我很抱歉 我的目标是:在枚举ddl上使用ASP.NET MVC的Html助手添加验证 模型 看法 单击提交后,它不会验证我的表单,而是继续提交表单。 另外,我希望尽可能使用模型验证而不是jquery验证。 谢谢,您应该确保包含验证库和不引人注目的库 jquery.validate.js jquery.validate.unobtrusive.js 在主布局视图中 如果您没有这些文件,那么可以从nuget安装它们 更新: 如果只需要使用服务器端验证,则只

我是ASP.NETMVC的新手。对于这个问题我很抱歉

我的目标是:在枚举ddl上使用ASP.NET MVC的Html助手添加验证

模型 看法 单击提交后,它不会验证我的表单,而是继续提交表单。 另外,我希望尽可能使用模型验证而不是jquery验证。
谢谢,

您应该确保包含验证库和不引人注目的库

jquery.validate.js

jquery.validate.unobtrusive.js

在主布局视图中

如果您没有这些文件,那么可以从nuget安装它们

更新: 如果只需要使用服务器端验证,则只需将必填字段的数据注释从[required]替换为[Range1,int.MaxValue,ErrorMessage=这是必需的] 这是因为如果用户未选择下拉列表中的任何选项,则@Html.EnumDropDownListFor将始终发送0,并且该值将被视为有效值。 检查这个

现场装饰应如下所示

请考虑为表单设置一个有效的动作URL

谢谢,但我希望使用ASP.NET MVC html帮助程序验证,而不是jquery-validation。请使用DropDownListFor而不是EnumDropDownListFor
public enum SampleEnum { 
    Active = 1, Inactive = 2, Pending = 3
}
public class SampleClass { 
    [Required]
    public SampleEnum sampleEnum{get;set;}
}
<form action="url" method="post">
    @Html.EnumDropDownListFor(m => m.sampleEnum, "-- Select Sample Enum --", new { @class = "custom-select custom-select-sm" })
    @Html.ValidationMessageFor(m=> m.sampleEnum, "", new { @class = "text-danger" })
    <input type="submit" value="Submit" /> 
</form>