标签: data-annotations

如何使用范围数据注释属性指定最小但没有最大小数?

我想指定一个价格的十进制字段必须> = 0但我真的不想强加一个最大值.

这是我到目前为止所做的......我不确定这样做的正确方法是什么.

[Range(typeof(decimal), "0", "??"] public decimal Price { get; set; }
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc data-annotations

135
推荐指数
6
解决办法
14万
查看次数

在某些情况下禁用必需的验证属性

我想知道是否可以在某些控制器操作中禁用Required validation属性.我想知道这是因为在我的一个编辑表单中,我不需要用户输入他们之前已经指定的字段的值.然而,我然后实现逻辑,当它们输入值时,它使用一些特殊的逻辑来更新模型,例如散列值等.

有关如何解决这个问题的任何消息?

编辑:
是的客户端验证是一个问题,因为它不允许他们提交表单而不输入值.

c# asp.net-mvc data-annotations asp.net-mvc-3

129
推荐指数
8
解决办法
16万
查看次数

122
推荐指数
4
解决办法
12万
查看次数

117
推荐指数
2
解决办法
2万
查看次数

实体框架代码第一个唯一列

我正在使用Entity Framework 4.3并使用Code Fist.

我上课了

public class User
{
   public int UserId{get;set;}
   public string UserName{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

在创建数据库表时,如何告诉Entity Framework UserName必须是唯一的?如果可能的话,我更愿意使用数据anotations而不是配置文件.

entity-framework data-annotations entity-framework-4.3

108
推荐指数
6
解决办法
9万
查看次数

ASP.NET MVC:DataAnnotation的自定义验证

我有一个具有4个属性的模型,其类型为字符串.我知道您可以使用StringLength注释验证单个属性的长度.但是,我想验证4个属性组合的长度.

使用数据注释执行此操作的MVC方式是什么?

我问这个是因为我是MVC的新手,并希望在制作我自己的解决方案之前以正确的方式做到这一点.

.net c# asp.net-mvc data-annotations asp.net-mvc-3

107
推荐指数
5
解决办法
16万
查看次数

DataAnnotation验证属性的Int或Number DataType

在我的MVC3项目中,我存储了足球/足球/曲棍球/ ...运动游戏的得分预测.所以我的预测类的一个属性看起来像这样:

[Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")]
[StringLength(2, ErrorMessage = "Max 2 digits")]
[Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")]
public int? HomeTeamPrediction { get; set; }
Run Code Online (Sandbox Code Playgroud)

现在,int在我的情况下,我还需要更改数据类型的错误消息.使用了一些默认值 - "HomeTeamPrediction字段必须是数字.".需要找到一种方法来更改此错误消息.此验证消息似乎也对远程验证进行了预测.

我已尝试过[DataType]属性但这在system.componentmodel.dataannotations.datatype枚举中似乎不是普通数字.

asp.net-mvc data-annotations asp.net-mvc-3

102
推荐指数
5
解决办法
21万
查看次数

使用数据注释分配DateTime的格式?

我的视图模型中有这个属性:

[DataType(DataType.DateTime)]
public DateTime? StartDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

如果我想显示日期,或用日期填充文本框,我有以下内容:

<%: Model.StartDate %>

<%: Html.TextBoxFor(m => m.StartDate) %>
Run Code Online (Sandbox Code Playgroud)

每当显示日期时,它显示为:01/01/2011 12:00:00 AM

但我想只显示01/01/2011

有没有办法应用带数据注释的显示格式?我不想去每个显示日期的实例,并添加一些代码来格式化它.

c# asp.net asp.net-mvc data-annotations

89
推荐指数
8
解决办法
18万
查看次数

为什么我不能引用System.ComponentModel.DataAnnotations?

我正在尝试在我的WPF项目中使用DataAnnotations来指定字符串的最大长度,具体如下:

using System.ComponentModel.DataAnnotations;
Run Code Online (Sandbox Code Playgroud)

但是,我得到了错误

命名空间'System.ComponentModel'中不存在类型或命名空间名称'DataAnnotations'(您是否缺少程序集引用?)

我已经看到了这个命名空间DataAnnotations 存在的其他示例.我正在使用C#4.我有什么理由不能用这个吗?我该怎么办才能修复它?

c# wpf data-annotations

84
推荐指数
4
解决办法
11万
查看次数

MVC模型要求为真

有没有办法通过数据注释要求将布尔属性设置为true?

public class MyAwesomeObj{
    public bool ThisMustBeTrue{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc data-annotations

78
推荐指数
8
解决办法
5万
查看次数