我想创建一个包含另一个变量或属性值的 ErrorMessage。
我想保持简单。到目前为止,这段代码显示了 String.Format 参数的错误。实现它的最佳方法是什么:

    public class MyClass
    {
        [RequiredIf("IsRequired", true, ErrorMessage=String.Format("The 'something' ({0}) is required because of: {1}", Something, CustomExplanation)]
        public string Something { get; set; }

        [Required]
        public bool IsRequired { get; set; }

        [Required]
        [StringLength(200, MinimumLength=20)]
        public string CustomExplanation { get; set; }
    }

我已经阅读了这个问题和答案:string.Format in Data Annotation Validation Attributes
没关系,但也许有一个解决方法......

最佳答案

我对您的建议是使用 FluentValidator。这是一个很好的图书馆,可以达到你的目标。

链接 - http://fluentvalidation.codeplex.com/

你可以用这样的代码解决你的问题:

RuleFor(m => m.Something).When(m => m.IsRequired).WithMessage("Your message here.");

如果您有任何疑问,请告诉我。

关于c# asp mvc ErrorMessage 应该包含另一个变量/属性值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19783426/

10-12 12:49
查看更多