未能获得不引人注目的客户端验证

时间:2012-07-11 14:53:07

标签: asp.net-mvc-3 linq razor unobtrusive

我发现我想要验证的属性必须在C#中具有[Required]属性 (我对吗?) 如果是这样 - -my模型是linq生成的类 - 如何添加这个属性?

3 个答案:

答案 0 :(得分:1)

你可以通过以下两种方式实现:

  • 如果可能,请在数据库中使该字段不可为空。这将使数据层需要该字段。

  • 创建一个为模型类添加属性的分部类。使用此属性而不是数据库生成的属性。

例如:

public partial class YourEntity
{
   [Required]
   public string YourNewProperty
   {
      get { return this.TheRealProperty; }
      set { this.TheRealProperty = value; }
   }
}

希望这会有所帮助

答案 1 :(得分:0)

好吧,您总是可以创建一个新类,作为数据访问层的一部分,具有相同的属性,只需将[required]放在您想要的位置。

答案 2 :(得分:0)

我相信你的LINQ课程是不完整的。使用MVC,您可以使用“MetatDataTypeAttribute

喜欢这样

[MetadataType(typeof(UserMetadataSource))]
public partial class User {

}

class UserMetadataSource {
    [HiddenInput(DisplayValue = false)]
    public int UserId { get; set; }

}