2011-04-05 85 views
1

我在mvc 3中开发并且有一个小问题。 我想更改无效数据类型的默认错误消息。 让我说我有一个模型与道具价格,我希望他的错误信息输入“aaa”将是“您可以输入的唯一值是一个数字”。在mvc3中更改数据类型的默认错误消息

这样做最简单的方法是什么? (我想这样做,我所有的车型)

回答

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

希望这有助于!

山姆

+0

不起作用 – gdoron 2011-07-29 12:48:23

+0

你得到什么错误? – 2011-07-29 14:20:43

+0

它不起作用,不断得到:'值'a'无效...'而不是ErrorMessage属性。 – 2013-01-22 21:34:09

0

假设你与实体框架或LINQ工作,SQL和类名是产品。这里就是这个例子。创建一个如下所示的部分类;

[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; 
+1

这将只适用于不适用于字符和字符串的空值!不管怎么说,还是要谢谢你 – gdoron 2011-07-29 12:49:33

相关问题