gpt4 book ai didi

c# - 仅当使用 MVC 选中复选框时才验证文本框

转载 作者:太空宇宙 更新时间:2023-11-03 22:10:00 25 4
gpt4 key购买 nike

我有一个带有 TextBox 和 Checkbox 属性的 ViewModel:

public bool SendAlerts { get; set; }
public string EmailAddress { get; set; }

我需要验证 EmailAddress 字段(文本框),以确保仅当我的 View 中的复选框(绑定(bind)到 SendAlerts 属性)被选中时才有电子邮件地址。如果未选中该复选框,则 EmailAddress 文本框是否为空也没关系。

我该如何着手实现这种条件验证?我正在对我的 ViewModel 中的其他一些属性使用 DataAnnotations,例如直接的“Required”注释(但我不能将其用于这种情况,因为它是有条件的).

我在我的 View 模型中使用了 CustomValidation 作为几个其他属性,即

public static ValidationResult IsTitleValid(object value)
{ ... }

但是,使用这种方法我只有 1 个对象值,无法同时引用复选框和文本框值。

使用 MVC 解决这个问题的最佳方法是什么?

最佳答案

我们最近被迫在工作中做类似的事情,并且找不到比以下更好的解决方案: http://blogs.msdn.com/b/simonince/archive/2010/06/04/conditional-validation-in-mvc.aspx

在此处更新为 MVC3: http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx

基本上,您引入了一个新属性 RequiredIf。使用此解决方案,您还可以获得客户端验证。

关于c# - 仅当使用 MVC 选中复选框时才验证文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974502/

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