我有使用外键列的内联编辑网格。在foreignKey.cshtml中,我还添加了选项标签(“请选择”)。
查看:
columns.ForeignKey(p => p.EmployeeID, (System.Collections.IEnumerable)ViewData["testStatus"], "EmployeeID", "EmployeeName");
型号:
[Required(ErrorMessage = "Required")]
[DisplayName("Employee ")]
[UIHint("GridForeignKey")]
public int EmployeeID { get; set; }
共享/ GridForeignKey.cshtml
@(
Html.Kendo().DropDownList()
.Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
.OptionLabel("Select value")
)
我的问题是,我如何验证用户是否选择“请选择”选项并显示所需的消息。谢谢你
谢谢
答案 0 :(得分:1)
尝试添加范围属性而不是模型所需的属性。很可能你的第一个项目是“请选择”被赋予值0或“请选择”所以所需的属性将不会做你需要的,因为技术上输入有一个值。
[Range(1, int.MaxValue, ErrorMessage = "Please Select A Value")]
public int EmployeeID { get; set; }
如果您还没有选定的值,请尝试将选定的索引添加到下拉列表中。
@(
Html.Kendo().DropDownList()
.Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
.OptionLabel("Select value")
.SelectedIndex(0)
)
答案 1 :(得分:0)
您是否尝试将[Required]数据注释属性添加到Model属性中?如果你还没有,那有什么不同吗?