gpt4 book ai didi

c# - MVC 3 复选框关闭不使用RequiredAttribute 的验证

转载 作者:行者123 更新时间:2023-11-28 02:14:29 24 4
gpt4 key购买 nike

我一直在 stackoverflow 上寻找这个答案。和他们在一起似乎没什么进展。我有一个实体,它有 5 个到其他实体的导航属性。示例:

public class Computer : DbEntity
{
public virtual Ram Ram { get; set; }
public Guid RamId { get; set; }

public virtual Hdd Hdd { get; set; }
public Guid HddId { get; set; }

// etc. etc. you get the picture

}

为了构建 View ,我为 HddRam 等创建了部分创建 View ,并将它们引用到主视图中:

@model ComputerSite.ViewModels.ComputerViewModel

@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Computer Details</legend>
... some fields ...
</fieldset>

Html.RenderPartial("Create", "Ram");

Html.RenderPartial("Create", "Hdd");
}

我对此进行了测试,它有效,所有数据都会发送回 ViewModel,并且可以保存在数据库中,所以我知道所有这些都有效。当计算机没有Ram时就会出现问题。我希望能够选中一个框来表示此内容不会包含在内。并且在提交表单时绕过 Ram 验证。

应该有一个非常简单的方法,我不介意它是否是一个 JavaScript 函数,可以在客户端更改一些 data- 属性。我只是不完全确定从哪里开始,自定义属性不是解决这个问题的方法。仅仅改变一些字段似乎就太多了。如果未选中复选框并且验证已到位,我仍然希望验证字段,并且该位有效,因此我问这个问题的原因是,我只需要能够有选择地关闭表格。

哦,顺便说一句,我的任何实体类中的属性都不具有 [Required] 属性!

如果您使用 JavaScript,请提供示例。我已经 100% 熟练了。

最佳答案

看一下万无一失的验证项目,它有更多的验证方法,包括requiredif。 http://foolproof.codeplex.com/

另一方面,您可以关闭一个设置来禁用隐式验证。有关详细信息,请参阅此答案 https://stackoverflow.com/a/4845768/1563373

关于c# - MVC 3 复选框关闭不使用RequiredAttribute 的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16606153/

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