0

在 .NET Web MVC 4 应用程序中实现多步骤数据验证的最佳实践是什么?步骤1

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

在控制器中,我使用 RegExp 检查电子邮件的有效性并重定向到第 2 步

第2步

<input type="hidden" name="email"/>
<input type="password" name="pwd"/>
<input type="password" name="confirmpwd"/>

在控制器中,我检查密码的有效性并创建一个用户

如果有人更改输入隐藏中的电子邮件,则可以使用无效电子邮件注册帐户。所以我可以在会话中保存电子邮件?或者我应该使用 2 方式加密电子邮件并将其作为隐藏传递给表单?重新验证电子邮件?在大量数据的情况下?哪个是最佳实践?

4

1 回答 1

2

严格来说,从最佳实践的角度来看,您不能依赖使用输入,其中包括隐藏的表单字段。您可以将电子邮件存储在会话中,但是如果服务器崩溃或服务器在场中,这会产生影响?我建议将电子邮件存储在事务数据库中,以便以后检索。

至于验证,您应该在您的视图模型上使用正则表达式数据注释来处理电子邮件,并且如果您对密码强度有最低要求。您还可以使用数据注释来验证确认密码是否与密码匹配。最后检查控制器上的 Model.IsValid 以获得最佳结果。

于 2013-05-28T14:48:42.963 回答