更改mvc3中数据类型的默认错误消息

时间:2011-04-05 07:49:19

标签: asp.net-mvc asp.net-mvc-3 attributes types

我正在开发mvc 3并且有一个小问题。 我想更改无效数据类型的默认错误消息。 假设我有一个支持Price的模型,我希望他的错误信息输入“aaa”将是“你可以输入的唯一值是一个数字”。

最简单的方法是什么? (我想为我的所有模特做这件事)

3 个答案:

答案 0 :(得分:4)

您可以在模型属性上使用正则表达式数据注释,例如:

[RegularExpression(@"^[0-9\.]*$", ErrorMessage="The only value you can enter here is a number")]
public double Price { get; set; }

你应该从白名单的角度来看待验证 - 即应该允许通过什么,而不是黑名单,这将是无效的。

此处提供更多信息:

http://www.asp.net/mvc/tutorials/mvc-music-store-part-6

希望这有帮助!

萨姆

答案 1 :(得分:2)

答案 2 :(得分:0)

假设您正在使用实体框架或Linq to SQL,并且您的类名是Product。这是一个例子。创建如下的部分类;

[MetadataType(typeof(Product.MetaData))]
public partial class Product {

    private class MetaData {

        [Required(ErrorMessage = "The only value you can enter here is a number")]
        public decimal Price { get; set; }


    }

}

您应该添加以下using语句,以便使用dataanotations进行验证;

using System.ComponentModel.DataAnnotations;