Ios 防止用户在后台使用相同的用户名注册

Ios 防止用户在后台使用相同的用户名注册,ios,swift,backendless,Ios,Swift,Backendless,我正在使用BackEnd创建一个Swift应用程序。应用程序会自动创建用户的用户名属性,尽管这可能会在将来更改。不管怎样,如果一个用户的用户名与另一个用户的用户名相同,我如何才能阻止该用户注册 在允许用户注册之前,我已在backhandle(业务逻辑部分)中添加了一个要运行的事件处理程序: /* global Backendless */ /** * @param {Object} req The request object contains information about the re

我正在使用BackEnd创建一个Swift应用程序。应用程序会自动创建用户的用户名属性,尽管这可能会在将来更改。不管怎样,如果一个用户的用户名与另一个用户的用户名相同,我如何才能阻止该用户注册

在允许用户注册之前,我已在backhandle(业务逻辑部分)中添加了一个要运行的事件处理程序:

/* global Backendless */

/**
* @param {Object} req The request object contains information about the request
* @param {Object} req.context The execution context contains an information about application, current user and event
* @param {Object} req.user 
*/
Backendless.ServerCode.User.beforeRegister(function(req) {
  //add your code here
}, true);

如何设置它以检查用户名值是否与现有用户名值相同,如果相同,则抛出错误?

以下是了解用户是否存在的查询

let query = BackendlessDataQuery()
let userEmail = "foo@foo.com"
query.whereClause = "email = '\(userEmail)'"
let users = backendless.data.of(BackendlessUser.ofClass()).find(query)
if( users.data.count > 0 )
{
// user exists
}

引用自

您可以在用户名列上设置唯一约束。这样,您的应用程序将收到一个错误,我们可以按照您的意愿处理该错误。

我会这样做,但显然BackEnding不允许对其预先制作的系统表进行约束。我想下一个最好的方法是@Rajat建议的方法