簡體   English   中英

如何過濾Accounts.createUser選項數據?

[英]How to filter Accounts.createUser options data?

將注冊作為流星項目的一部分。 我正在使用“ 帳號密碼 ”模塊,我想知道如何在“選項”參數中過濾或修改數據?

Accounts.createUser(options,[callback]) -存儲用戶名,電子郵件和密碼。

例如,我要防止用戶創建帶有特殊符號(!#@ $)的username.replace(/[^A-Z0-9]/ig, "") ,例如: username.replace(/[^A-Z0-9]/ig, "")如何配置?

我嘗試使用“ Accounts.onCreateUser”功能,但僅對“配置文件”(附加)信息有幫助。

Accounts.onCreateUser()允許您修改整個用戶文檔。 您可以檢查username段並在其中替換字符。

例:

Accounts.onCreateUser((options, user) => {
  user.username = user.username.replace(/[^A-Z0-9]/ig, "")
  return user;
});

讓我們看一下Accounts.onCreateUser()

爭論

函數 功能

每當創建新用戶時調用。 返回新的用戶對象,或拋出Error以中止創建。

因此,為了防止用戶在用戶名中使用任何特殊字符,您應該執行以下操作:

Accounts.onCreateUser((options, user) => {
  const re = new RegExp('^[a-z0-9]+$', 'i');
  if (!re.test(user.username)) {
    throw new Error('invalid-username', 'Entered username is invalid');
  }
  ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM