gpt4 book ai didi

validation - 保存在编辑页面上时忽略“必需”属性

转载 作者:行者123 更新时间:2023-12-03 09:36:38 26 4
gpt4 key购买 nike

我有一个模型类,其中包含几个必填字段:

public class UserMetadata
{
[Required(ErrorMessage = "Please enter a name.")]
public string Name { get; set; }

[Required(ErrorMessage = "Please enter a password.")]
public string Password { get; set; }
}

在创建 View 上,如果我没有输入名称和/或密码,则会显示验证摘要错误。一切都很好。对于编辑 View ,我仅显示“名称”字段-不显示“密码”字段。

当我将更改保存在编辑页面上时,出现验证摘要错误,提示我必须输入密码。

我该如何控制密码字段的验证,以便对于编辑 View 不打扰?或者,我是否以错误的方式处理此问题?我仍然希望“名称”字段验证可在编辑 View 上工作。

编辑:

对于我的MVC项目,我使用的是Entity Framework。因此,我定义了一个“UserMetadata”类,以便可以将“[Required]”之类的内容附加到“User”类(位于EDMX文件中)的某些字段上。

我还应该解释一下,我正在使用一个 View 模型,例如“UserEditViewModel”,该模型具有附加的“User”属性。所以在我的帖子上:
[HttpPost]
public ActionResult Edit(UserEditViewModel inputViewModel)
{

if(ModelState.IsValid) { inputViewModel.User blah.... }

}

认为我在输入此问题时有点着急。您认为重要的其他丢失信息,请大声疾呼。

干杯。
贾斯

最佳答案

我最终在我的操作方法中这样做:

ModelState.Remove("User.Password");

现在我的代码运行良好,只在“名称”字段上引发了验证错误,这正是我想要的。

关于validation - 保存在编辑页面上时忽略“必需”属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5900645/

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