标签: data-annotations

该字段必须是数字.如何将此消息更改为其他语言?

如何更改所有int字段的消息,而不是说:

The field must be a number 用英文表示:

El campo tiene que ser numerico 在西班牙语中.

有办法吗?

validation asp.net-mvc localization numbers data-annotations

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

用于验证的数据注释,至少一个必填字段?

如果我有一个包含字段列表的搜索对象,我可以使用System.ComponentModel.DataAnnotations命名空间将其设置为验证搜索中至少有一个字段不为null或为空吗?即所有字段都是可选字段,但应始终输入至少一个字段.

asp.net validation asp.net-mvc data-annotations asp.net-mvc-2

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

DataAnnotations动态附加属性

显然,可以在运行时动态地将DataAnnotation属性附加到对象属性,从而实现动态验证.

有人可以提供代码示例吗?

asp.net-mvc data-annotations

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

如何在非ASP.NET网络环境中使用C#中的数据验证属性?

我想在库程序集中使用数据验证属性,这样数据的任何使用者都可以在不使用ModelBinder的情况下对其进行验证(例如,在控制台应用程序中).我该怎么做?

c# validation data-annotations

31
推荐指数
1
解决办法
1万
查看次数

实体框架代码优先:如何为"默认"值注释外键?

我有2个课程:客户和调查.

每个客户可以进行多次调查 - 但只有一次默认调查.

我已经定义了这样的类:

public class Client
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }

    public string ClientName { get; set; }

    public Nullable<int> DefaultSurveyID { get; set; }

    [ForeignKey("DefaultSurveyID")]
    public virtual Survey DefaultSurvey { get; set; }

    public virtual ICollection<Survey> Surveys { get; set; }
}

public class Survey
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }

    public string SurveyName { get; set; }

    [Required]
    public int ClientID { get; set; }

    [ForeignKey("ClientID")]
    public virtual Client …
Run Code Online (Sandbox Code Playgroud)

entity-framework data-annotations ef-code-first

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

ASP.NET MVC中的最佳实践ViewModel验证

DataAnnotations用于在ASP.NET MVC应用程序中ViewModel使用jquery.validate.unobtrusive和在服务器端验证我的客户端.

不久前,我发现我可以写这样的验证:

[Required(ErrorMessage = "{0} is required")]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

这样我就可以在配置或资源中轻松定义一些通用字符串,并始终使用它DataAnnotations.因此,将来在整个应用程序中更改验证消息会更容易.

另外我知道有一个FluentValidation库允许向现有的验证规则添加验证规则ViewModel.我知道添加/编辑有一个问题ViewModels,可能有类似的字段,但ValidationRules不同.

客户端验证的另一个问题是,应该解析新添加到DOM的 html (使用ajax请求)以启用验证.我是这样做的:

$('#some-ajax-form').data('validator', null); 
$.validator.unobtrusive.parse('#some-ajax-form');
Run Code Online (Sandbox Code Playgroud)

所以我有一些问题:

  1. 是否有一些其他有用的实践可以帮助集中应用程序中的所有验证规则?
  2. 什么是解决添加/编辑ViewModel验证问题的最佳方法?我可以使用DataAnnotationsFluentValidation或单独添加和编辑ViewModels仍然是最好的选择?
  3. 有没有更好的方法来初始化对我提到的ajax调用收到的新DOM元素的验证?

我不是问如何创建自己的DataValidators我知道怎么做.我想方设法如何以更高效和易维护的方式使用它们.

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

31
推荐指数
3
解决办法
4万
查看次数

ASP.NET-MVC 2 DataAnnotations StringLength

我可以使用MVC 2 DataAnnotations指定字符串字段的最小长度吗?

有没有人这样做或者他们创建了自定义属性,如果是这样,你介意分享源?

data-annotations asp.net-mvc-2

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

ASP.Net MVC中的远程验证3:如何在Action方法中使用AdditionalFields

我一直在使用新的ASP.Net MVC 3 RemoteAttribute向具有单个参数的动作方法发送远程调用.现在我想使用AdditionalFields属性传入第二个参数:

[Remote("IsEmailAvailable", "Users", AdditionalFields = "InitialEmail")]
Run Code Online (Sandbox Code Playgroud)

IntialEmail是视图中的隐藏字段.动作如下:

public JsonResult IsEmailAvailable(
            string email,
            string InitialEmail)
{
//etc.
}
Run Code Online (Sandbox Code Playgroud)

呈现视图时,将填充隐藏字段,但是远程触发Action方法时,该值为空字符串.

我在其他地方看到区分大小写可能是一个问题,所以我确保Action方法对两个参数都有相同的情况.

还有其他建议吗?此AdditionalFields曾被称为Fields.

谢谢,

Beaudetious

validation asp.net-mvc data-annotations

30
推荐指数
1
解决办法
3万
查看次数

mvc4数据注释比较两个日期

我的模型中有这两个字段:

[Required(ErrorMessage="The start date is required")]
[Display(Name="Start Date")]
[DisplayFormat(DataFormatString = "{0,d}")]
public DateTime startDate { get; set; }

[Required(ErrorMessage="The end date is required")]
[Display(Name="End Date")]
[DisplayFormat(DataFormatString = "{0,d}")]
public DateTime endDate{ get; set; }
Run Code Online (Sandbox Code Playgroud)

我要求endDate必须大于startDate.我试过使用,[Compare("startDate")]但这只适用于相同的操作.

我应该用什么来做"大于"的操作?

asp.net-mvc data-annotations asp.net-mvc-4

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

mvc [DataType(DataType.EmailAddress)没有验证

我在电子邮件字段中使用此代码:

    [Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Email address")]
    public string Email { get; set; }
Run Code Online (Sandbox Code Playgroud)

[DataType(DataType.EmailAddress)] 不起作用(不在客户端的服务器上进行验证).

我不确定是否应该自己实现自定义属性,或者我可以使用MVC 3中包含的属性.

如果需要,请您建议我创建自定义属性的解决方案.

我还阅读了一些额外的扩展,例如 http://nuget.org/packages/DataAnnotationsExtensions.MVC3

你能告诉我吗?

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

29
推荐指数
4
解决办法
5万
查看次数