2010-09-15 47 views
0

我需要以下属性:如何创建一个与2个或更多字段配合使用的asp.net MVC自定义模型验证

1.例如:我有2个字段。首先是复选框,其次是文本框。如果第一次控制检查。第二个字段必须是Required属性。首先控制未选中。第二个控件不需要。

[Required] 
public boolean showHeader{get;set;} 

[IFRequired("showHeader",true)] 
public string HeaderText{get;set;} 

2.例如:我有2个字段。新密码,确认密码。属性必须检查这2个字段是否相等。

[Required] 
public string newPassword{get;set;} 

[Expression("newPassword",ExpressionAttributeEnum.Equils)] 
public string confirmPassword{get;set;} 

如何创建上述属性?

回答

0

这是不可能使用属性。

但是你可以在你的行动中做到这一点。

public ActionResult Create(FormCollection collection) { 
    ///do your checks here which you cant do using attributes 
    ModelState.AddModelError("fieldname", "yourErrorMessage"); 

    if (ModelState.IsValid) { 
     ////......... 
    } 
    return View(); 
} 
0

对于第2点,如果你正在使用MVC3使用比较属性

[必需] 公共字符串NEWPASSWORD {获取;集;}

[比较(] 公共字符串confirmPassword { get; set;}

看一看这个SO问题和答案第一部分

相关问题