ASP.NET MVC - 验证模型的唯一性

时间:2009-08-04 13:01:58

标签: asp.net-mvc validation repository

验证模型唯一性的最佳方法是什么?例如,确保只有一个用户可以拥有某个用户名。

我正在使用存储库模式与数据库进行交互,所以我应该将check int放在那里吗?如果是这样,我该如何将其过滤回模型?

由于

2 个答案:

答案 0 :(得分:2)

您是否也在数据库中强制执行此约束?

答案 1 :(得分:0)

向UserRepository添加一个方法,以查找UserName是否正在使用中。 UserRepository可以在User.Save

上执行此验证
public class UserRepository {

  private bool IsUserNameInUse(string userName) {
     return false;
  }

  private bool IsUserNameInUse(int userId, string userName) {
    // Verify no record other than the userid submitted is using the username
    return false;
  }

  public void Save(User userToSave) {
      if (IsUserNameInUse(userToSave.UserName)) throw new Exception();
  }

}