2017-09-14 6 views
0

私の流星プロジェクトに登録部分を作る。 「アカウントパスワード」モジュールを使用しています。「オプション」パラメータでデータをフィルタリングまたは変更するにはどうすればよいですか?Accounts.createUserオプションのデータをフィルタリングする方法は?

Accounts.createUser(options, [callback]) - ユーザー名、メールアドレス、パスワードを保存します。

たとえば、ユーザーが特殊記号(!#@ $)を使用してユーザー名を作成しないようにしたいとします。username.replace(/[^A-Z0-9]/ig, "") どうすれば設定できますか?

私は "Accounts.onCreateUser"機能を試していましたが、 "プロファイル"(追加)情報に役立つだけです。

+0

を - 誰かが開発者を使用することができるので、効果的ではありませんコンソールを登録する –

答えて

0

Accounts.onCreateUser()を使用すると、ユーザー文書全体を変更できます。 usernameフィールドを調べて、そこにある文字を置き換えることができます。

例:

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

はのはAccounts.onCreateUser()を見てみましょう:

引き

FUNC機能、新規ユーザーが作成されるときに呼び出され

。新しいユーザーオブジェクトを返すか、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'); 
    } 
    ... 
}); 
関連する問題