ASP.NET MVC Html 助手:在枚举 ddl 中添加验证
ASP.NET MVC Html Helper: Adding a validation in an enum ddl
我是 ASP.NET MVC 的新手。对于这个问题,我感到非常抱歉。
我的目标是:在枚举 ddl 上使用 ASP.NET MVC 的 Html Helper 添加验证。
型号
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>
单击“提交”后,它不会验证我的表单,而是继续提交。
P.S。我希望尽可能使用模型验证而不是 jquery-验证。
谢谢,
您应该确保包含验证库和非侵入式库
jquery.validate.js
jquery.validate.unobtrusive.js
在您的主布局视图中
如果您没有这些文件,那么您可以从 nuget 安装它们
更新 :
如果您只需要使用服务器端验证,那么您只需将必填字段的数据注释从 [Required]
替换为 [Range(1, int.MaxValue, ErrorMessage = "This is required")]
这是因为如果用户没有 select 下拉列表的任何选项,@Html.EnumDropDownListFor
将始终发送 0,并且该值将被视为有效。
检查这个 answer
提交的装饰应如下所示
请考虑为表单添加一个有效的操作 url
我是 ASP.NET MVC 的新手。对于这个问题,我感到非常抱歉。
我的目标是:在枚举 ddl 上使用 ASP.NET MVC 的 Html Helper 添加验证。
型号
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>
单击“提交”后,它不会验证我的表单,而是继续提交。
P.S。我希望尽可能使用模型验证而不是 jquery-验证。
谢谢,
您应该确保包含验证库和非侵入式库
jquery.validate.js
jquery.validate.unobtrusive.js
在您的主布局视图中
如果您没有这些文件,那么您可以从 nuget 安装它们
更新 :
如果您只需要使用服务器端验证,那么您只需将必填字段的数据注释从 [Required]
替换为 [Range(1, int.MaxValue, ErrorMessage = "This is required")]
这是因为如果用户没有 select 下拉列表的任何选项,@Html.EnumDropDownListFor
将始终发送 0,并且该值将被视为有效。
检查这个 answer
提交的装饰应如下所示
请考虑为表单添加一个有效的操作 url