为什么验证会在此ViewModel中中断

时间:2012-04-02 19:08:10

标签: jquery asp.net-mvc model-view-controller unobtrusive-validation

不确定这是否应该有效,但事实并非如此。谁能解释为什么不呢? 采用股票标准MVC 3互联网模板(表单身份验证)并将RegisterModel替换为RegisterViewModel:

public class RegisterViewModel
{
    public RegisterModel registerModel { get; set; }        
}

现在更改Register视图以引用@model MvcApplication1.Models.RegisterViewModel和所有控件,例如:@ Html.TextBoxFor(m => m.registerModel.UserName)。

您会注意到注册模型上的验证属性会中断。为什么会这样?

1 个答案:

答案 0 :(得分:1)

我怀疑compare属性中的“密码”的内联声明是否存在嵌套对象的问题。

[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]

如果有帮助,你可以改用继承(确认这有效):

public class RegisterViewModel : RegisterModel
{
}

enter image description here