如何验证外键列kendo内联网格

时间:2012-12-11 08:19:49

标签: asp.net-mvc-3 kendo-ui

我有使用外键列的内联编辑网格。在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")

)

我的问题是,我如何验证用户是否选择“请选择”选项并显示所需的消息。谢谢你

谢谢

2 个答案:

答案 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属性中?如果你还没有,那有什么不同吗?