我们目前正在使用ASP.NET MVC 4进行项目。由于我正在使用select2插件,因此验证并不是那么容易。 jQuery验证中必填项的标准消息是“此字段必填!”。 经过数小时的搜索,我发现了如何更改此消息。 在下面您可以看到我如何对其进行更改,这是有效的(使用@Html.ValidationMessageFor(--property of my ViewModel--)显示消息。这很奇怪,因为我无法获得实际的数据注释消息显示,但jQuery消息确实很幸运。

$.validator.messages = {
    required: "@Resources.Question_MinOnePol"
};

可行,问题是我现在对于每个必填字段都收到相同的消息。 我想根据id或class获得不同的自定义消息。

我不知道如何执行此操作...希望您能给我有关如何实现此操作的提示。

额外的:

使用select2的选择列表示例:

<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)

使它成为select2列表的脚本:

jQuery('#polDrop').select2({
        placeholder: "Selecteer een politicus...",
        maximumSelectionSize: 5,
        formatResult: format2,
        formatSelection: format2,
        escapeMarkup: function(m) {
            return m;
        }
    });

我对任何有兴趣的人的ViewModel:

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; }
}

如果需要,我将很乐意提供其他详细信息。

===============>>#1 票数:0

在以下StackOverflow线程中找到了答案:

jQuery验证:更改默认错误消息

对不起,以前没找到!

我如何解决的:

$('#polDrop').rules("add", {
        messages: {
            required: "Politician is required!"
        }
    });

    $('#topDrop').rules("add", {
        messages: {
            required: "Topic is required!"
        }
    });

我在jQuery中调用的ID当然是我的<select>的ID!

  ask by E. V. d. B. translate from so

未解决问题?本站智能推荐:

1回复

jQuery select2的选择值未正确更新

我一直在解决这个问题超过一个星期,几乎没有进展。 我看过 如何设置jquery select2的选定值? 嵌入到引导模态中时,Select2不起作用 使用JSON结果填充下拉列表-使用MVC3,JQuery,Ajax,JSON级联DropDown 重置se
1回复

如何通过jQuery在Select2中获取额外的参数值?

我将一个额外的属性绑定到Select2 ddl,并希望通过jQuery检索此属性值( Key ),如下所示: 控制器: 我成功填充了ddl并尝试获取除Name和Id onChange之外的Key值,但不知道如何获取它: 视图: 任何想法? 这是Select2的呈
1回复

一起使用jQuery tokeninput和文本

我希望用户在ASP.NET MVC应用程序的TextBox中给我一个长字符串值。 在字符串中,如果用户输入系统中已有的单词,我想用jQuery令牌显示它。 用一个例子可以更好地解释: 假设用户输入的短语是“除了周日早上,我每天早上都喝咖啡”。 在此示例中,假设我在数据库中已经有单
1回复

使用jQuery中的foreach循环在Select2中不加载数据

我正在尝试使用foreach循环将数据加载到select2。 码: 由此,我得到了清单。 这些值将进入foreach循环,但不会附加到select2。 在这里,我正在使用select2并从数据库中获取选定的值。 它仅显示选定值,而不显示select2中的所有值。 我想
1回复

如何将数据绑定到MVC中数据库中的select2 jquery

视图: 控制器: 模型: 我正在尝试从控制器中的数据库中获取数据,但是无法将ViewBag数据绑定到ViewBag中的select2-hidden-accessible 。
2回复

使用jQuery绑定或重新加载选择2 drodown

我在我的Asp.net MVC应用程序之一中使用select2下拉列表。 我需要在不刷新页面的情况下在数据库中添加项目后绑定/重新加载下拉列表。 现在,我正在使用查看包绑定下拉菜单。 我具有使用单击按钮时的弹出窗口添加新项目的功能。 我想在数据库中添加新项目后再次重新加载/绑定。
1回复

Select2 Jquery ASP MVC

我在将ajax连接到select2时遇到了麻烦。 select2框正确呈现,但是搜索时未对控制器进行调用。 我从另一个项目的工作示例中提取了这一点……这使它更加混乱 这是布局标题中的JavaScript和CSS文件 这是我的意见 这是我的ajax电话
1回复

如何以编程方式更改jQuery select2项目?

我在asp.net-mvc页面上有一个下拉列表: 我将其转换为使用jQuery select2这样的 问题是,如果我尝试更改基础select值,例如: select2小部件不会更改selecteditem 以编程方式更新jQuery select2所选项目的正确方法
1回复

如何查看jQuery插件(select2)的所有配置选项

我使用的是select2 jQuery插件( http://ivaynberg.github.io/select2/ ),它正在执行其工作,但是我想知道如何查看随其发送的所有配置选项。 我的意思是: 这实际上适用于所有jQuery插件。 我在Visual Studio的MVC项目中使
1回复

使用Select2 jquery进行多次选择的ASP MVC下拉列表

我有一个控件,需要具有多个选择选项才能创建令牌。 每当创建或删除令牌时,都会生成数据库调用。 现在的问题是,当我从服务器加载新页面时,控件中没有令牌。 以下是我的剃刀代码: projDDL是包含下拉列表项的字典 SelectedProject也是包含所选项目键,值的字典