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