在我的解决方案中添加或编辑用户时,我想验证用户名是否尚未使用。
这是我对远程验证所做的事情:
视图模型:
[Required, Remote("UserNameAlreadyExists", "User", Error="Already exists!")]
public string UserName { get; set; }
控制器:
public ActionResult UserNameAlreadyExists(string userName)
{
var user = _requestServiceClient.GetUserFromUserName(userName);
return Json(user == null, JsonRequestBehavior.AllowGet);
}
它非常适合创作。但它不适用于版本,因为已编辑用户本人的用户名已经存在。你懂我的意思吗?
一种解决方案是根据用户名和用户 ID 签入数据库。所以在编辑用户的情况下,我们可以检查用户名不存在(除了作为参数传递的用户ID)。这是一个很好的选择吗?如何在远程验证属性中传递此用户 ID?
谢谢。