【问题标题】:ASP.NET MVC3 unobtrusive jQuery validation messages localisationASP.NET MVC3 不显眼的 jQuery 验证消息本地化
【发布时间】:2011-07-13 08:49:47
【问题描述】:

我坚持使用 ASP.NET MVC 3 jQuery 不显眼的验证消息本地化。特别是“数字”验证。如果我在模型输入 html 中有一个数字属性,则使用 data-val-number 属性呈现,其值为“字段数量必须是一个数字”。我如何本地化这个字符串。使用数据注释属性,定义本地化消息没有问题。但是对于数字验证,我不必指定任何属性。

那么,不显眼的验证生成的本地化验证消息如何?

【问题讨论】:

标签: localization asp.net-mvc-3 unobtrusive-validation


【解决方案1】:

我得到了参考这篇文章http://jwwishart.wordpress.com/2010/03/22/custom-server-and-client-side-required-validator-in-mvc-2-using-jquery-validate/的解决方案@

它可以工作,但仍然很不方便。

如果只有一种文化,使用起来会很方便

$('input[data-val-number]').attr('data-val-number', 'Custom message');

这个脚本必须放在前面

<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

【讨论】:

    【解决方案2】:

    Found something。该博客逐步解释了如何完成此操作。我刚刚尝试使用 MVC 3 无障碍验证快速运行,它运行完美。

    基本上,你添加一个资源,并像这样使用验证属性:

    [Range(1, 130, ErrorMessageResourceType = typeof(Resources), ErrorMessageResourceName = "Range")]
    public string myNumber { get; set; }
    

    结果是使用我的自定义字符串进行客户端验证。

    【讨论】:

    • 使用属性就可以了。如果没有指定上述属性并且通过属性类型添加验证,则无法定义资源。您定义的方式解决了本地化问题,但它仍然有点尴尬的解决方法,因为我必须定义 Range 属性的每个数字属性,考虑可能的范围
    • @Kazys,我现在更好地理解了这个问题。你是对的,必须将范围添加到所有数字字段是非常尴尬的。我发现另一个 post 有类似的问题。但不是一个简单的解决方案。我完全没有想法......
    猜你喜欢
    • 2012-11-16
    • 2011-08-26
    • 1970-01-01
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多