因为我使用了一个名为select2的插件,我需要在纯Html中定义我的应用程序中的选择列表(所以没有任何助手),如下所示:
<select name="TopicIds" id="topDrop" multiple style="width: 700px" required>
@foreach (var top in ((List<Topic>)ViewBag.TopIds).Where(top => top.MainTopic == null))
{
<option value="@top.TopicId" class="optionGroup">@top.Name</option>
foreach (var subTopic in top.SubTopics)
{
<option value="@subTopic.TopicId" class="optionChild">@subTopic.Name</option>
}
}
</select>
正如您所看到的,需要选择1个元素,这就是我设置&#34; required&#34;属性。
验证发生时,表单提交时未在列表中选择任何内容时进行验证。我想在字段验证发生时设置自定义错误消息。
通常你会使用帮助器@html.ValidationMessageFor()
,但似乎并没有使用这个纯粹的html控件。您可以看到选择列表绑定到属性&#34; TopicIds&#34;在我的ViewModel中。
我试过这个:@Html.ValidationMessageFor(model => model.TopicIds)
,我得到的唯一消息是默认&#34;这个字段是必需的&#34;,奇怪的是只有在定义了这个帮助时...
如何自定义此讯息?我已经搜索了一段时间并尝试使用JavaScript等各种解决方案,但似乎没有任何改变消息,我总是得到&#34;这个字段是必需的。&#34;。
任何人都知道如何做到这一点?我在ASP.NET MVC 4 Web应用程序中使用了所有这些。
答案 0 :(得分:0)
在ViewModel中注释属性
[Required(ErrorMessage = "My Custom Message")]
public string Id {get;set;}
然后你Html.ValidationMessageFor