asp.net-mvc-2 - 基于两个属性的自定义模型验证。一个影响另一个

标签 asp.net-mvc-2 entity-framework-4 validation validationattribute

我将 Asp.Net MVC 2 与 Entity Framework 4 一起使用。
这是情况:我有一个复选框和一个文本框(日期选择器)。
如果复选框被选中,则文本框是必需的。如果复选框为 false,则不需要文本框。
复选框 True => 需要文本框
复选框 False => 不需要文本框

<%:Html.CheckBoxFor(model => model.oEnvironment.Remediate) %>
<%= Html.TextBoxFor(model => model.oEnvironment.DatePick)%>

我知道如何创建一个 ValidationAttribute 但我不知道如何创建一个验证类来验证是否选中了复选框(如果我的实体修复属性为真),然后根据需要放置 DatePick 字段。

任何的想法 ?

最佳答案

如果你不需要客户端验证,我建议你使用 ModeState.AddModelError测试您的逻辑(在您的 Controller 中)。

就像是:

[HttpPost]
public ActionResult Edit(MyModel model)
{
        if (model.Remediate && string.IsNullOrEmpty(model.DatePick))
            ModelState.AddModelError("DatePickRequired", "DatePick is required");
        if (!ModelState.IsValid)
            return View(model);
        return View();
}

格茨,
斯蒂芬。

关于asp.net-mvc-2 - 基于两个属性的自定义模型验证。一个影响另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5320357/

相关文章:

asp.net-mvc - 从 ASP.NET MVC2 Controller 返回临时 View 模型

c# - LINQ to Entities - 在我的示例中排除部分发货订单的 WHERE 子句

html - 在 HTML 中删除成功验证时的输入移位

asp.net-mvc-2 - asp.net MVC 从另一个区域渲染部分 View

asp.net-mvc - DataAnnotation 验证和自定义 ModelBinder

entity-framework - 我们可以在 EF 中进行交叉连接吗?

ios - 验证州和邮政编码的有效方法

c# - 如何验证分类广告?

asp.net-mvc - ASP.NET MVC2 - 自定义模型绑定(bind)示例

c# - Entity Framework 中的通用查询方法