【发布时间】:2016-01-08 06:06:59
【问题描述】:
我正在设计一个注册表单并使用 ajax 向服务器发送数据。
我的模特:
public class RegisterViewModel
{
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
[Required]
[DataType(DataType.Password)]
public string Password { get; set; }
[DataType(DataType.Password)]
[Compare("Password")]
public string ConfirmPassword { get; set; }
}
和行动:
[HttpPost]
[AllowAnonymous]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
// do stuff...
}
}
}
我的问题:result.Succeeded 返回 false 并带有错误消息(Password 是 helloworld):
密码必须至少包含一个非字母或数字字符。 密码必须至少有一位数字 ('0'-'9')。密码必须有 至少一个大写字母('A'-'Z')。
正如您在上面看到的,我没有为Password 和ConfirmPassword 设置任何正则表达式。那我为什么会得到那个?
【问题讨论】:
标签: asp.net-mvc