[英]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.