0

我正在为我的 MVC3 网站创建一个登录屏幕。显然,用户从这个页面登录,但是如果他们忘记了密码,他们可以点击一个链接,然后 Javascript 会隐藏登录,然后出现一个忘记密码,他们可以在其中输入他们的电子邮件地址。所以我有一个 LogOnModel,它要求用户名和密码字段有一个值。ForgotModel 要求 emailAddress 字段有一个值。然后在页面上,我使用由这两者组成的 LogOnMaster 模型。

public class LogOnMasterModel : MasterViewModel
{
    public LogOnModel LoginViewModel { get; set; }
    public ForgettenModel ForgottenViewModel { get; set; }
} 

问题是当我单击 LogOn 的提交按钮时,它希望电子邮件地址字段具有值。如何使它仅在登录提交按钮上验证 LoginViewModel 并且仅在单击忘记的提交按钮时验证 ForgottenModel。

如果需要,我可以共享代码。

我对完全不同的解决方案持开放态度。

4

1 回答 1

2

您可以使用几种方法。第一个将涉及使用自定义验证器来确定是否填充了用户名/密码字段,然后不需要电子邮件地址。您可能会尝试的第二种方法,因为一切显然都是用 JavaScript 运行的,是使用一些默认的忽略值(invalid@emailaddress.org 或其他东西)填充电子邮件地址字段,当单击忘记密码链接时,该值被重置为空。

于 2012-10-11T14:19:02.807 回答