0

如何防止多个用户同时使用相同的用户名输入?示例:当我使用用户名和其他人尝试使用我的用户名同时输入时,它应该显示错误,例如“您的用户名已在使用中”。我尝试将用户名保存在该用户已经使用它的数据库中。但是现在不注销就离开帐户是个问题。

4

2 回答 2

0

我会在表单的“配置”功能中做这样的事情:

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

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

于 2014-04-03T18:15:48.663 回答
0

您将使用 sfValidatorDoctrineUnique。

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

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

于 2014-03-03T23:26:21.300 回答