防止多个用户同时使用相同的用户名输入? symfony 1.4

时间:2014-02-25 03:46:45

标签: symfony-1.4 multiple-users

如何防止多个用户同时使用相同的用户名输入?示例:当我使用用户名时,其他人尝试同时输入我的用户名,则应显示“您的用户名已在使用中”的错误。 我尝试在用户已经使用它的DB中保存用户名。但离开帐户而不退出现在是个问题。

2 个答案:

答案 0 :(得分:0)

你会使用sfValidatorDoctrineUnique。

http://symfony.com/legacy/doc/forms/1_4/en/B-Validators#chapter_b_sub_sfvalidatordoctrineunique

您还应该使您的数据库列也是唯一的。

答案 1 :(得分:0)

我会在表单的“configure”函数中执行类似的操作:

$this->validatorSchema->setPostValidator(new sfValidatorDoctrineUnique(
                                            array('model' => 'sfGuardUser', 'column' => array('username')), 
                                            array('invalid' => 'Username already in use') )
                                        );

我在这里假设你正在使用sfGuard插件,否则你将不得不修改模型。正如@Kevin所说,该列必须是唯一的

相关问题