我已经将两个单独的页面重构为一个,并且也合并了视图模型。
现在,在我的项目中,登录和注册表单在选项卡式视图中位于同一页面中。
我遇到的问题是验证。 第一个表单有两个必填字段,另一个表单有另外两个也是必填字段。如果我发布第一个表单,则其他两个字段的验证将失败。
我使用IValidatableObject进行了实验,但我做不了类似的事情:
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (PostPackOrigin == "LoginForm")
{
if(Username == "")
yield return new ValidationResult("Username missing");
if(Password == "")
yield return new ValidationResult("Password missing");
}
if (PostPackOrigin == "RegistrationForm")
{
if(Name == "")
yield return new ValidationResult("Name missing");
if(Email == "")
yield return new ValidationResult("Email missing");
}
}
或类似的东西。 我们如何检测回发的来源,还是有另一种方法来处理验证?
非常感谢