我在我的MVC 4.0项目中使用select2插件作为选择列表。
但是当我们使用select2时,MVC的默认验证失败了。有时候选择列表会出现错误消息,但是当我们从选择列表中选择值时,它不会自动清除。
请给我关于任何其他客户端验证的建议
以下是我的项目代码。
.cshtml
<div class="editor-field">
<select id="cityid">
<option></option>
</select>
@Html.ValidationMessageFor(model => model.CityID)
<script type="text/javascript">
$("#cityid").select2({
placeholder: "Select City",
width: "200px"
});
</script>
</div>
型号代码:
[Required(ErrorMessage="Please select city")]
public int CityID { get; set; }
请帮我解决这个问题
答案 0 :(得分:3)
请检查此enter link description here
(function() {
var $select = $('select').select2({
placeholder: 'Choose',
allowClear: true
});
/*
* When you change the value the select via select2, it triggers
* a 'change' event, but the jquery validation plugin
* only re-validates on 'blur'
*/
$select.on('change', function() {
$(this).trigger('blur');
});
$('#myForm').validate({
ignore: 'input[type=hidden], .select2-input, .select2-focusser'
});
$select.rules('add', 'required');
}());