使用 MVC4,假设您有一个自定义验证实体模型,是否可以将模型传递给自定义验证属性,例如:
public class ValidatableModel
{
[CustomValidation(typeof(CustomDependentValidation), "ValidateCDV", **this**)]
public string Attrib1 { get; set; ]
public string Attrib2 { get; set; }
}
到声明如下的 CustomDependentValidation 类:
public class CustomDependentValidation : ValidationAttribute
{
public static ValidationResult ValidateCDV(ValidatedModel argValMod) //yes, ?-able.
{ if (argValMod.Attrib1 == argValMod.Attrib2) { return ValidationResult.Success; } }
}
在上面的代码中是来自 CustomValidation msdn 页面示例的外推尝试:http: //msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.customvalidationattribute (v=vs.95).aspx
(关于 Silverlight 版本,我知道......其他版本页面没有任何示例代码)
在 MVC4 中,我试图编写的自我引用验证模型类似于模式的东西是不可能的吗?
我想这可能是因为注释不允许对象实例引用或者实体模型对象没有任何作为客户端的业务,但我还在学习 MVC 并且很容易失去业务端。