检查用户名/电子邮件可用性设计问题

Posted

技术标签:

【中文标题】检查用户名/电子邮件可用性设计问题【英文标题】:Check username/email availability design question 【发布时间】:2011-03-30 20:42:49 【问题描述】:

我对编程和 html 设计还很陌生,想问一个有些人可能认为很愚蠢的问题。

这里是:

我有一个使用 jQuery 验证插件验证的注册表单。在此表单中,有一个电子邮件和密码输入,将用作登录凭据。

我想在这里做的是检查这封电子邮件是否在我的数据库(mysql)中可用。如果是,将提示用户插入另一封电子邮件。如果不是,则用户继续声明该电子邮件。我该怎么做呢?我应该在表格中包含表格吗?例如,我是否应该使用带有“检查可用性”按钮的嵌入式表单,例如 Gmail 注册?

这有标准程序吗?请提出一个好的和简单的方法。

【问题讨论】:

【参考方案1】:

您可以使用 ajax 访问服务器端脚本以检查电子邮件的可用性,然后根据您从服务器获得的响应显示一些通知/错误消息。

例如,在电子邮件字段的模糊事件中(当它失去焦点时),您可以触发一个使用 ajax 调用服务器端代码的事件,然后根据响应,您可以隐藏/显示特别包含错误消息。

您的电子邮件字段可能是这样的...

<input type="text" name="email" class="email" />

jQuery 代码是这样的......

$("input.email").blur( function() 
  $.ajax(
    url: 'ajax/getData.php?email=' + $(this).val(),
    success: function(data) 
      // Hide/show the error div over here
    
  );
);

【讨论】:

谢谢希维克。我认为应用 ajax 调用非常适合我的情况。【参考方案2】:

您可以做的是,当用户在电子邮件字段 (onblur) 中完成输入内容后,通过 jQuery http 调用检查用户名的可用性。如果它不可用,您可能希望给他或她一个视觉指示(例如,将字段变为红色)以提示另一封电子邮件。

请记住以下几点:

如果您想要稳健,请始终在服务器端和客户端进行验证。 在进行查找时,向用户提供某种视觉指示,表明搜索正在进行中,您也可以在搜索进行时禁用提交按钮。那时别忘了启用它:)

【讨论】:

感谢 Sam 的精彩建议。你提到的第二点我还没想到。防止用户单击按钮并进行未经授权的注册是有意义的。

以上是关于检查用户名/电子邮件可用性设计问题的主要内容,如果未能解决你的问题,请参考以下文章

codeigniter ajax 错误用户电子邮件检查

oracle select 和 concurrent insert :: 检查电子邮件可用性

iOS Firebase数据库安全性。创建新的应用程序用户:检查用户名的存在

如何在 Django 中检查或设置房间可用性

Facebook 注册插件异步验证器表单(检查用户名可用性)

用户使用电子邮件而不是用户名登录。问题:通过电子邮件但检查用户名