我想创建一个包含另一个变量或属性值的 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/