2014-02-14 29 views
0

我在Symfony2中有一個表單,管理員必須編寫另一個用戶的用戶名。以Symfony2格式驗證用戶名

如果用戶名存在於我的數據庫中,是否可以在發送表單之前進行檢查?我使用教條。

謝謝!

回答

1

您可以編寫自定義約束,該約束與您的實體管理器一起注入,並檢查用戶名是否存在。 See the documentation for creating a custom constraint here

另一個選擇是write a data transformer,它將用戶名字符串轉換爲一個User對象,如果用戶不存在,它應該確保用戶存在拋出TransformationFailedException。這可能會更容易一些,因爲文檔中的示例已經創建了變換器作爲服務,並向您展示如何注入實體管理器。

此外,這取決於你有多少用戶在您的應用程序,你可以使用戶名選項的entity choice type,並允許的symfony在那裏打倒所有的用戶已經創造的下降。

編輯: 對不起,我錯過了關於檢查之前您提交表格的部分。上述想法仍然是您可以在服務器上實現的方式,但前兩個選項需要使用Ajax請求來測試用戶名是否有效。

+0

非常感謝您的意見! – user2794692

+0

不客氣:) –