我已经将两个单独的页面重构为一个页面,并且还合并了视图模型。
现在在我的项目中,登录和注册表单位于选项卡式视图的同一页面中。
我遇到的问题是验证。第一个表单有两个必填字段,另一个表单有两个其他必填字段。如果我发布第一个表单,其他两个字段的验证将失败。
我尝试了 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");
}
}
或类似的东西。我们如何检测回发的来源,或者是否有其他方法来处理验证?
非常感谢