使用FluentValidation验证组件时,发现一个很奇怪的问题:当前使用When条件限制时,客户端验证失效,而服务端验证正常。
代码如下:
RuleFor(x => x.Email) .NotNull() .WithMessage("请输入电子邮箱")) .When(x => !x.EmailDisabled); RuleFor(x => x.Email) .EmailAddress() .WithMessage("电子邮箱格式不正确") .When(x => !x.EmailDisabled);
无论EmailDisabled是true还是false,客户端验证都失效。
而去掉when限制后客户端验证恢复正常,但是这样就失去了预期的效果。
Google了很久也没有找到答案~~~最后只有放弃使用客户端验证。