有没有办法可以简单地使用数据注释属性将JavaScript属性添加到表单字段?

时间:2013-03-04 05:53:22

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-validation

我想在文本输入中添加data-other-for属性,将其链接到选择,这样当用户选择“其他”时,它可用于捕获选择中不存在的值选择。属性的代码将确定哪个值或描述实际上是“其他”,如果是,则启用文本输入并使其成为必需的。

似乎唯一的方法是创建一个新助手,因为通过ValidationAttribute我只能在文本输入中添加预设验证HTML属性。或者去大写一个全新的元数据提供者。

1 个答案:

答案 0 :(得分:0)

您可以尝试实现自定义的ModelBinder。

说,在你想要的选择中:

new SelectListItem(Text = "Other", Value="bind:propertyName", Selected = False);

然后在覆盖的BindModel中,您只需在模型属性中查找bind:,找到后,从那里复制您的值。

在此之后,您应该能够将正常的验证属性添加到选择列表中。