在哪里可以找到所有用于本地化的 DataAnnotations 错误键?

Where I can find all the DataAnnotations error keys for localization?

我想将我的应用程序本地化为俄语。

我有这个模型(简化版):

public class MyModel
{
    [Range(1, 100, ErrorMessage = "RangeError")] // - this translates fine
    public int? PremiseArea { get; set; }
}

我有包含自定义本地化字符串的 .resx 文件,当我在输入中输入 200 时,错误以俄语显示,如我所愿。
我的问题是当我在输入中输入字母时。我收到此错误:

如何处理这些错误?默认情况下,在哪里可以找到所有 DataAnnotations 错误的列表?

有不同类型的验证错误消息。

  • 数据注释验证错误
  • 模型绑定验证错误
  • 身份描述符验证错误
  • 自定义验证错误消息

此外,还有 browser form validation errors 取决于字段类型,您可以通过配置客户端验证来覆盖这些错误。

它们中的每一个都需要不同的本地化方法。

  • 数据标注本地化: ASP.Net core multilingual validation messages for forms

  • 模型绑定错误本地化:

  • 身份错误本地化:

  • 自定义验证错误本地化:

您可以阅读这些文章以深入了解有关本地化的更多信息:

最后但同样重要的是:

配置所有本地化设置需要花费大量时间和精力,如果您想更快地完成,我建议使用 XLocalizer, it does all settings in simple setup in the startup, additionlly it can do online translation and auto adding for the localizable strings, so you don't fill resources manually, see the docs for more details

'Please enter a valid number.' 这种格式看起来像是默认的 jquery 验证消息.

您是如何应用验证的?

也可以直接在javascript中定义校验信息,然后本地化 验证

消息,作为我下面的演示。这是 jquery validation documentation.

<script>
    $(document).ready(function () {
        $('#form1').validate({ 
            rules: {
                PremiseArea: {    //rule the number and range
                    number: true,
                    range: (1, 100)
                }
            },
            messages: {
                PremiseArea: {
                    number:"@Localizer["Please enter a valid number."]",  //localize the message
                    range: "@Localizer["Range Error"]"
                }
            }
        });
    });
</script>