我們目前正在使用ASP.NET MVC 4製作一個項目。因爲我正在使用select2插件,驗證並不是那麼容易。 jQuery驗證中所需項目的標準消息是「此字段是必需的!」。經過數小時和數小時的搜索,我發現如何更改此消息。下面你可以看到我如何改變它,這是工作(消息得到顯示使用@Html.ValidationMessageFor(--property of my ViewModel--)
。這是非常奇怪的工作,因爲我不能得到實際的數據註釋消息顯示,但jQuery消息確實很幸運jQuery驗證:根據類別設置更多必需的消息
$.validator.messages = {
required: "@Resources.Question_MinOnePol"
};
這工作,問題是我現在得到每個必填字段相同的消息。我想基於ID或類可能得到不同的自定義消息。
我不知道如何做到這一點?希望你能給我提示如何做到這一點。
其他的:
使用選擇列表例選擇2:
<select name="PoliticianIds" id="polDrop" multiple style="width: 700px" required class="select2pol required">
@foreach (var par in ((List<Party>)ViewBag.Parties))
{
<optgroup label="@par.Name (@par.FullName)">
@foreach (var pol in ((List<Politician>)par.Politicians))
{
@(ViewBag.CurrPol = pol)
<option value="@pol.UserId">@pol.FirstName @pol.LastName (@pol.Party.Name)</option>
}
</optgroup>
}
</select>
@Html.ValidationMessageFor(model => model.PoliticianIds)
腳本,使之成爲選擇2列表:
jQuery('#polDrop').select2({
placeholder: "Selecteer een politicus...",
maximumSelectionSize: 5,
formatResult: format2,
formatSelection: format2,
escapeMarkup: function(m) {
return m;
}
});
我的視圖模型對於任何有興趣:
public class CreateQuestionModel
{
public Question Question { get; set; }
[Required(ErrorMessageResourceType = typeof(Resources.Resources), ErrorMessageResourceName = "Question_MinOnePol")]
public List<int> PoliticianIds { get; set; }
public List<int> TopicIds { get; set; }
}
我會很高興在需要時提供任何額外的細節。