gpt4 book ai didi

asp.net-mvc-3 - MVC3 仅验证 ViewModel 中的一个实体

转载 作者:行者123 更新时间:2023-12-02 13:00:50 27 4
gpt4 key购买 nike

我有一个 mvc3 创建页面,使用具有 2 个实体的 View 模型就像

class ViewModel1{
public User user{get;set;}
public Company company{get;set;}
}

其中用户和公司是 EF4 实体(表)。我需要使用单个页面来创建两个(相关)表。现在,公司实体在某些情况下是可选的,我使用 jQuery 隐藏 View 中的相应部分。然而,由于公司有必填字段,回发创建函数的 ModelState.Valid 为 false。

我想要做的是,如果 Company 部分被隐藏,我想跳过验证服务器中 ViewModel 中的 Company 实体(我避免验证客户端中的隐藏元素)。

也许有更好、更合适的方法?

最佳答案

您所显示的不是 View 模型。您将其称为 View 模型,但这并不是因为它引用您的 EF 域实体。

更真实的 View 模型如下所示:

class ViewModel1
{
public UserViewModel User { get;set; }
public CompanyViewModel Company { get; set; }
}

或者甚至展平并仅包含您的 View 需要的属性:

class ViewModel1
{
public int UserId { get;set; }
[Required]
public string FullUserName { get;set; }
[Required]
public string CompanyName { get; set; }
}

现在,根据您对 View 模型验证的具体要求,您的 UserViewModelCompanyViewModel 类将专门为其设计。

关于asp.net-mvc-3 - MVC3 仅验证 ViewModel 中的一个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8870540/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com