我必须使用MVC模式编写自定义属性来检查依赖属性。我正在使用System.ComponentModel.DataAnnotations来检查必填字段。 我的WPF应用程序包含listview控件。当第一次加载视图时,以模态类编写的所有属性都会填充到列表视图中。 我正在提供功能,用户可以在listview中包含/排除新属性。但是,我不希望允许用户排除其他属性所依赖的属性。
例如,如果securitynumber属性取决于employeename属性。在排除employeesename的同时,我想显示验证信息“securitynumber取决于雇员姓名,因此不能排除雇员名称”
我需要帮助写作和使用自定义属性,例如
[Dependencyon("Employeename")]
public object securitynumber { get ;set ;}
并希望在任何需要的地方获得“Dependencyon”的价值。
答案 0 :(得分:2)
您有三种选择:
A)您可以使用CustomValidationAttribute并提供自定义构建的验证器。
B)您可以创建一个继承自ValidationAttribute的类。
http://msdn.microsoft.com/en-us/library/cc668224.aspx
C)如果您只想在MVC Action上执行此操作,则可以根据gordatron的响应创建ActionFilterAttribute。
答案 1 :(得分:1)
我猜你想要创建一个自定义过滤器..它已经有一段时间但是从记忆中我认为它会是这样的:
public class Dependencyon : ActionFilterAttribute {
string field;
public Dependencyon (string field){
this.field = field;
}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//check whether field is populated and redirect if not?
}
}
这是ActionFilters的首发:
(我不记得这些构造函数参数的详细信息,所以我可能会离开..抱歉,但我想它不会花很长时间尝试)