ASP.NET MVC | ASP.NET MVC我应该在模型中放置 DataAnnotations 的位置

发布于 2024-10-13 09:33:21 字数 120 浏览 3 评论 0原文

模型已经存在。它们位于另一个项目中。我应该将 DataAnotations 放在该项目或我的项目中的什么位置?我应该使用部分类吗?我想放置 DataAnatation 因为我希望 javascript 验证能够在客户端上工作。

A models already exists. They are situated in another project. Where I should put DataAnotations in that project or my one? Should I use partial classes? I would like to put DataAnatation because I want javascript validation to work on client.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

虐人心 2024-10-20 09:33:21

您不能跨程序集使用分部类,因此该选项不适用。

您可以创建 DTO(数据传输对象),这些 DTO 是其他程序集中 DTO 的副本,对其进行注释和映射。

为了轻松映射,您可以使用自动映射器等工具。如果属性名称匹配,它基本上会为您完成所有工作。

You can't use partial classes across assemblies, so that option is out.

You can create DTOs (data transfer objects) that are copies of the ones in the other assembly, annotate them and map.

For easy mapping you can use a tool like auto mapper. If the property names match, it will essentially do all the work for you.

两人的回忆 2024-10-20 09:33:21

为您的模型创建一个部分类。像这样:

[MetadataType(typeof(Log_Validation))]
public partial class Log : IEntity
{
}

然后创建一个新类 Log_Validation 来完成所有数据注释工作。

public class Log_Validation
{
    [DisplayName("Level")]
    [Required(ErrorMessage = "Please provide a level")]
    public String Level { get; set; }
} 

Create a partial class for your Model. like this:

[MetadataType(typeof(Log_Validation))]
public partial class Log : IEntity
{
}

then create a new class Log_Validation which does all the data annotations stuff.

public class Log_Validation
{
    [DisplayName("Level")]
    [Required(ErrorMessage = "Please provide a level")]
    public String Level { get; set; }
} 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文