我在我的 ASP.Net MVC 3 项目中设置了 FluentValidation。我有一个有两个输入的表单。任何一个都可以为空,但不能同时为空。
这是我所拥有的:
RuleFor(x => x.username)
.NotEmpty()
.When(x => string.IsNullOrEmpty(x.email) == true)
.WithMessage("Please enter either a username or email address")
这正确地将错误直接放在我的用户名字段上方。但是,当两个字段都留空时,我希望验证摘要显示消息
有没有办法做到这一点?我一直在想我可以在模型中创建一个未使用的字段并将错误放在上面(如果其他两个为空白),
RuleFor(x => x.unused_field)
.NotEmpty()
.When(x => string.IsNullOrEmpty(x.email) == true && string.IsNullOrEmpty(x.username) == true)
.WithMessage("Please enter either a username or email address")
但这感觉是一种尴尬的方式。有没有办法可以在验证摘要中添加一条消息?