如何对asp.net mvc 4中的select2字段进行强制字段验证

Posted

技术标签:

【中文标题】如何对asp.net mvc 4中的select2字段进行强制字段验证【英文标题】:How to give mandatory field validation for select2 fields in asp.net mvc 4 【发布时间】:2014-03-27 06:41:50 【问题描述】:

我在我的 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; 

请帮我解决这个问题

【问题讨论】:

【参考方案1】:

请查看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');
());

【讨论】:

以上是关于如何对asp.net mvc 4中的select2字段进行强制字段验证的主要内容,如果未能解决你的问题,请参考以下文章

SELECT2 4.0 与 ASP.Net 中的多选:如何获取和设置所选项目?

如何在 ASP .NET MVC 5 中使用 select2 将新值动态添加到列表框并将其传递给控制器​​?

使用 Select2 ASP.NET MVC 时进行不显眼的验证

无法在 ASP.NET MVC 5 中从视图到控制器获取 Select2 标记值

Gridview 中的 Select2 插件仅适用于 asp.net 中的最后一行网格

如何使用 MVC3 ASP.NET 4.5 和 EF6 基于实体属性注释对 TextBoxFor 进行舍入