2013-07-03 105 views
3

在客戶端和服務器上驗證用戶創建的最佳方法是什麼?如何驗證流星在服務器上的用戶創建

我試着驗證用戶創建服務器和客戶端。首先,我已經使用了方法和Accounts.createUser函數,但即使文檔說明它應該也不起作用。

我試過不同的方法。我使用Accounts.createUser在服務器上對客戶端進行驗證,並使用Account.onCreateUser進行驗證。問題是我無法驗證密碼,因爲它是加密的。

那麼最好的辦法是什麼?

+0

您是否收到任何錯誤?在流星方法調用中包裝'Accounts.createUser'應該返回一個userId並且在驗證方面,我一直在客戶端/服務器端運行一個正則表達式 – Warz

+0

在服務器上一切似乎都正常,但在客戶端上我得到了空錯誤對象在'Accounts.createUser'函數的回調函數中。似乎是某種錯誤,或者我不應該在Methods中使用'Accounts.createUser'? – Jagi

回答

5

對於新用戶的驗證,看到從文檔here

例子:

// Validate username, sending a specific error message on failure. 
Accounts.validateNewUser(function (user) { 
    if (user.username && user.username.length >= 3) 
     return true; 
    throw new Meteor.Error(403, "Username must have at least 3 characters"); 
}); 
// Validate username, without a specific error message. 
Accounts.validateNewUser(function (user) { 
    return user.username !== "root"; 
}); 
+0

我必須缺少一些東西,因爲它似乎驗證新用戶在onCreateUser(其中我初始化與新創建的用戶相關的東西)之後調用。 – Gwened

+0

無論如何,我最終只使用onCreateUser()。不要忘記傳遞一個HTTP錯誤代碼作爲異常的第一個參數,否則該消息將不會顯示在accounts-ui中。 – Gwened

相關問題