Client Side validation in MVC 3 Database First

泄露秘密 提交于 2019-12-08 01:36:40

问题


If I add [Required] in my entity class then unobtrusive validation works fine.

[Required] is not added where I generate my entity class using database first(*.edmx).

If I manually add [Required] in my entity property, something like

[Required]
public int {get;set;}

[Required] will delete when I update my edmx.

So my question is how can I perform client side validation if I use database first in EF.


回答1:


Create a partial class for your entity and use the MetadataType attribute. See example below:

[MetadataType(typeof(MyEntity.Metadata))]
public partial class MyEntity
{
    private sealed class Metadata
    {
        [Required(ErrorMessage = "* required")]
        public string MyRequiredField { get; set; }
    }

    // Add other similar properties here...
}

This class will be unaffected by changes in the designer generated code.




回答2:


This is a question for ado.net team. I suppose that when you use database first EF your domain model inherits constraints of database because database design is master for your application logic.



来源:https://stackoverflow.com/questions/7400277/client-side-validation-in-mvc-3-database-first

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!