Skip to content

Release v20.61.1

Choose a tag to compare

@github-actions github-actions released this 21 Jul 23:22
70fd5b8

Fixed

  • A validation rule comparing against a non-numeric value — most often a RuleFor(x => x.When).GreaterThan(DateOnly.MinValue) "must be set" sentinel — generated a client validator that did not parse (greaterThan(01/01/0001), an invalid TypeScript literal). The client-side comparison validators (greaterThan, lessThan, …) operate on numbers, so such a comparison is now skipped at extraction — the server still enforces it, there is simply no client rule to project. As a backstop, any non-numeric argument that still reaches the formatter is quoted, so no unparseable literal can be emitted.

This was latent until validator rules actually reached the generated proxies (#2363): before that, no FluentValidation rule was extracted at all, so the comparison path never ran. Verified end to end against a real application's regenerated proxies — the date-sentinel rules are dropped and the numeric comparisons (greaterThan(0), greaterThanOrEqualTo(18)) are unchanged. Proven to have teeth by reverting the extraction guard and watching the new spec fail. Full suite green: 3,964 passed, 0 failed.

🤖 Generated with Claude Code