在强类型视图中验证密码和确认密码字段的最佳方法是什么?
密码字段代码:
<label for="BaseUser.PasswordHash">Password</label>
<%= Html.Password("BaseUser.PasswordHash", Model.BaseUser.PasswordHash)%>
<%= Html.ValidationMessage("BaseUser.PasswordHash", "*")%>
我不知道如何以mvc的方式处理确认密码字段。或者只是使用javascript来验证?
答案 0 :(得分:4)
这种UI验证规则可能在控制器中完成(与我原来的答案相反)。下载Nerddinner.com源代码,查看调用ValidateRegistration方法的AccountController.Register方法,以查看具体示例。
有一个完整的nerddinner.com网站,可以免费下载http://tinyurl.com/aspnetmvc 但是在演练过程中没有详细说明您的具体问题,所以请查看上面所示的源代码。
如果您想逐步增强用户体验,那么您可以在视图中对jquery验证插件进行分层,以验证客户端。
记住仅通过javascript在客户端上执行验证的危险是,所有人必须做的是关闭javascript以避免您的业务规则并绕过一层“深度防御”来阻止安全攻击,如XSS和Sql Injection。
答案 1 :(得分:0)
我的javascript是要走的路。如果你想在服务器上验证例程(无论如何,标准的mvc?),那么就好了。
但为什么要强行进行往返,就像“你的密码不匹配”一样简单。如果有人想“破解”(例如关闭javascript)以便他们可以提交两个不匹配的密码,那就没问题了。
要在服务器上执行此操作,您将有两个单独的字段,如果它们不匹配,则抛出错误。