AdonisJS - 无法更新唯一字段

时间:2016-09-06 04:18:01

标签: sql node.js validation adonis.js

AdonisJS是Node.js的Laravelish框架,但即使遵循Laravel解决方案,我也无法工作。

我有一些rules将两个字段设置为unique,但在更新时,它或者无法控制数据库中存在或者允许我复制。

这些是规则:

get rules() {
    return {
      name: 'required',
      username: 'required|alpha_numeric|unique:users,username',
      email: 'required|email|unique:users,email',
      firstName: 'required',
      lastName: 'required',
      password: 'required|min:8',
      confirmPassword: 'required|min:8|same:password'
    }
  }

按照我发现的例子,我试着这样:

username: 'required|alpha_numeric|unique:users,username,id,${this.id}',

但它仍然不是100%。它不允许我更新已经拥有此类usernameemail并执行

的用户

username: 'required|alpha_numeric|unique:users,id,${this.id}',

它复制了其他用户的数据,这些数据被认为是唯一的。

1 个答案:

答案 0 :(得分:1)

如果你想使用模板文字,你需要使用反引号(`)而不是单/双引号。

username: `required|alpha_numeric|unique:users,username,id,${this.id}`,

文档:Template literals

注意: Unique AdonisJs文档中的示例使用反引号(AdonisJs Validation - Unique