Pro*_*ofK 4 asp.net asp.net-mvc
我有以下(删节)DTO注册新用户:
[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password do not match.")]
public class RegisterModel
{
//.....
[DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.Password)]
public string ConfirmPassword { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后将其包装在View Model中:
public class RegisterModelViewData: BaseViewData
{
public RegisterModel RegisterModel { get; set; }
public int PasswordLength { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
最后,在视图中,我有两个字段:
<div class="editor-field">
<%= Html.PasswordFor(m => m.RegisterModel.Password) %>
<%= Html.ValidationMessageFor(m => m.RegisterModel.Password) %>
</div>
<div class="editor-field">
<%= Html.PasswordFor(m => m.RegisterModel.ConfirmPassword) %>
<%= Html.ValidationMessageFor(m => m.RegisterModel.ConfirmPassword) %>
</div>
Run Code Online (Sandbox Code Playgroud)
显然,如果密码不匹配,我应该得到客户端验证,没有帖子.我得到一个帖子,然后收到一条消息"帐户创建失败",但没有关于密码不匹配的信息.为简洁起见,我在此处省略了密码proeprties中的Required和MininumLength属性,但它们似乎按预期运行并在客户端上进行验证.
Pet*_*ris 17
现在可以在ASP.MVC 3中使用,以防任何人仍然想知道
public string Password { get; set; }
[Compare("Password", ErrorMessage = "Passwords must match")]
public string ConfirmPassword { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2394 次 |
| 最近记录: |