2

我正在尝试创建自己的自定义数据注释。我创建了一个新项目,数据注释在这个干净的项目中完美运行,但它似乎不适用于我的 Repository-Pattern 项目。

我创建了一个 MustBeTrue 验证,这意味着该方法检查是否选中了给定的复选框(条款和条件)。

[Display(Name = "I accept the terms and conditions")]
[MustBeTrue(ErrorMessage = "Please accept terms and conditions before 
public bool AcceptTerms { get; set; }
//non-relevant properties follow
//....method listed below

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class MustBeTrueAttribute : ValidationAttribute
{
    public override bool IsValid(object value)
    {
        return value != null && value is bool && (bool)value;
    }
}

我在一个单独的项目中有这段完全相同的代码,创建了一个视图并使用了这个模型,验证工作完美。但是,当尝试在我的另一个项目中复制它时,该项目使用存储库而不是在 Web 应用程序中拥有正确的模型,我的自定义验证不会运行。

编辑:要添加的另一件非常重要的事情是,我有一个助手来显示特定于该实体的字段,例如,我MvcHtmlString用来返回需要填写的字段字符串。

在放弃之前我必须检查任何设置吗?“默认”是否有任何东西可以连接我尚未完成的自定义注释?

注意: System.ComponentModel.DataAnnotations 在我的存储库项目中工作正常,它只是我无法工作的自定义项。

谢谢你的帮助!非常感激。

4

0 回答 0