自定义验证消息不起作用mvc

时间:2015-08-18 20:55:57

标签: asp.net-mvc asp.net-mvc-5 data-annotations

我正在使用mvc5应用程序,我需要使用西班牙语验证消息,并且我使用数据注释来实现这一点,问题是只能处理Required注释,这里是代码我正在使用它。

模型

[Required(ErrorMessage = "El numero de empleado no ha sido ingresado")]
    [Display(Name = "Total de empleados de la empresa")]
    [RegularExpression("^[0-9]+$", ErrorMessage = "Debe ser un número.")]
    public int NumeroEmpleados { get; set; }

查看

@Html.EditorFor(model => model.NumeroEmpleados, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.NumeroEmpleados, "", new { @class = "text-danger" })

问题在于显示默认消息,这是英文的,就像这样。

"字段NumeroEmpleados必须是数字。 "

修改

所以,我使用jquery.validation本地化功能解决了它,现在我的数字字段是正确的,但我的货币字段不是,目前它们是这样的。

[Required]
    [Display(Name = "Recaudo CE")]
    [RegularExpression("^[0-9]+$", ErrorMessage = "Ingrese un valor apropiado")]
    [DataType(DataType.Currency)]
    [DisplayFormat(DataFormatString = "{0:C0}")]
    public decimal RecaudoCE { get; set; }

1 个答案:

答案 0 :(得分:0)

默认消息不是来自RegularExpressionAttribute,而是来自尝试将非整数值绑定到整数属性。

你可以让NumeroEmpleados成为一个String,然后在你的控制器中转换为整数。

另请参阅: How to change the default "The field must be a number"