If '.NotEmpty' field is empty, the rule text shows correctly, but '.NotEqual' and '.Must' do not.
Only once '.NotEmpty' is valid does the other validation show.
I've tried putting '.NotEmpty' at the end, but same issue. If I remove '.NotEmpty' it works fine. Is there an condition on Fluent I don't know about?
RuleFor(c => c.Consent).Must((ac, Consent) => ac.Consent ==
true).WithMessage("You must agree to the consent statement to
continue");
RuleFor(c => c.FirstName).NotEmpty().Length(1, 50);
RuleFor(x =>
x.Title).NotEqual(CandidateTitle.PleaseSelect).WithMessage("You must
select a title");
Must and I think NotEqual are not supported client side OOTB. Must definitely isn't.
They will be tested server side as part of the http request pipeline (when FV middleware is added as part of your set up). That'll probably be why you're only seeing the NotEmpty rule being tested by itself with the others being tested once that rule passes.
If you want them to be tested client side you've got to write a client side adapter that maps to a javascript function that will perform the validation client side. For Must you'll have to create a validator, then an adapter.