代码改变世界

asp.net mvc FluentValidation客户端验证失效

2013-03-27 15:23  xuhongbo  阅读(492)  评论(0)    收藏  举报

使用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了很久也没有找到答案~~~最后只有放弃使用客户端验证。