我正在使用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; }
答案 0 :(得分:0)
默认消息不是来自RegularExpressionAttribute,而是来自尝试将非整数值绑定到整数属性。
你可以让NumeroEmpleados成为一个String,然后在你的控制器中转换为整数。
另请参阅: How to change the default "The field must be a number"