【问题标题】:Validation with ASP.NET MVC Linq To SQL: how do I avoid editing a generated source?使用 ASP.NET MVC Linq To SQL 进行验证:如何避免编辑生成的源?
【发布时间】:2009-09-14 07:29:28
【问题描述】:

我正在阅读ASP.NET MVC 中的几个关于验证的文档。忽略那些建议重新发明轮子编写自己的验证逻辑的人,大多数文章都提倡使用xVal 或数据注释验证器,这两者都允许通过装饰模型的属性进行声明式验证(*)。

我想我会选择xVal,因为它似乎是最受建议的(因此,我希望得到支持)。令我困惑的是,我使用的是Linq to SQL,而我的模型是在一个自动生成的文件中声明的(dbml + partial.cs),其中包含几个类和将近 5000 行长,所以我不是很渴望编辑它,就好像我更改了数据库结构一样,我将不得不重新生成它,失去我的更改。

有没有办法避免编辑该文件?


(*) 我还发现了一个Validator Toolkit,它也提供声明式验证并且不请求装饰模型的属性,但是页面显示了 57 次下载,所以我无法判断项目是否成熟或不是。

【问题讨论】:

    标签: asp.net-mvc validation decorator


    【解决方案1】:

    您可以创建一个分部类并将数据注释验证器添加到分部类中,这样无论您的 dbml 文件是否重新生成都无关紧要。

    试试这个asp.net articlethis article

    【讨论】:

      【解决方案2】:

      查看buddy classes -- 真正使用生成的模型和基于 DataAnnotation 的验证的唯一方法。

      【讨论】:

      • 是的,这与我接受的答案中建议的解决方案相同。
      【解决方案3】:

      是的,它可以 (xVal)。 See herehere

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多