我正在开发mvc 3并且有一个小问题。 我想更改无效数据类型的默认错误消息。 假设我有一个支持Price的模型,我希望他的错误信息输入“aaa”将是“你可以输入的唯一值是一个数字”。
最简单的方法是什么? (我想为我的所有模特做这件事)
答案 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;