【问题标题】:c# - Make an attribute required in the viewc# - 在视图中创建一个必需的属性
【发布时间】:2014-09-24 10:47:38
【问题描述】:

我有一个带有一些属性的模型,模型中不需要它们([Required]),因为在某些不需要的形式中使用它们。 问题是现在我必须使用这个模型做一个表单,其中一个属性必须是必需的。 ¿ 有没有办法在不改变模型类的情况下使这个属性成为必需?

如果没有js也更好,但是如果没有别的办法... =P

提前致谢!

【问题讨论】:

    标签: c# asp.net validation required


    【解决方案1】:

    尚未测试,但在我看来它可以工作。

    您可以创建一个包含您需要的所有字段的基本模型。在派生模型类中,您可以派生所需的特定属性,并在那里设置属性。

    【讨论】:

    • 我使用这个解决方案将属性添加到实体框架中使用的实体,我可以确认它有效
    【解决方案2】:

    Patrick 解决方案的替代方法是使用 MetadataType 属性。

    基本上,您创建一个派生自原始类的类,并创建一个单独的类来指定所有属性。

    这里是一个例子:

    public class User {
        public string Email { get; set; }
    }
    
    [MetadataType(typeof(InsertUserModelMetadata))]
    public class InsertUserModel : User {
    }
    
    
    internal class InsertUserModelMetadata {
        [Required]
        public string Email { get; set; }
    }
    

    【讨论】:

    • 有趣的答案,但前一个就足够了。无论如何谢谢;)
    猜你喜欢
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2014-08-10
    • 2018-05-03
    • 2015-10-20
    相关资源
    最近更新 更多