asp.net mvc在提交表单时是否默认执行验证?

问题描述 投票:0回答:1

我有一个没有评估的自定义验证,很明显。我的验证验证了日期,但是当我提交无效日期时,比如02/29/2017(无效而不是闰年),我收到一条消息,说明该字符串对于object属性无效。这不好,因为在我的国家,我们说葡萄牙语,英语信息确实妨碍了,此外,我想进行自定义验证。

    [Required(ErrorMessage = "O campo DATA DE NASCIMENTO é obrigatório")]
    [DataValida( ErrorMessage = "O campo DATA DE NASCIMENTO é inválido")]
    public DateTime DataNascimento { get; set; }

我的验证

   public class DataValida : ValidationAttribute
    {


        public override bool IsValid(object value)
        {

            DateTime dt;
            bool resultado = DateTime.TryParse(value.ToString(),out  dt);



            return resultado;
        }
    }

这条消息来自哪里?

enter image description here

c# asp.net-mvc asp.net-core
1个回答
0
投票

您不应该专门针对您的语言使用验证器(您指定的验证器可能无法在服务器上运行,因为它们通常设置为EN-US和UTC)。

基本(不简单)的答案是您需要提供包含消息的资源

看看这个页面:http://www.codiply.com/blog/localization-and-custom-validation-in-asp-net-mvc/

© www.soinside.com 2019 - 2024. All rights reserved.