jwaliszko / ExpressiveAnnotations

Annotation-based conditional validation library.
MIT License
351 stars 123 forks source link

AssetThat Not Working #53

Closed gdycus closed 9 years ago

gdycus commented 9 years ago

If IsNewOrder == true, Adults must be greater than 0. When IsNewOrder == false, Adults does not need to be greater than 0. But when IsNewOrder == false and Adults == 0, the following error is still displayed. Any suggestions? Thanks!

[AssertThat("IsNewOrder == true && Adults > 0", ErrorMessage = "At least one adult is required")]

jwaliszko commented 9 years ago

Logic behaves correctly, it's your condition which is broken and does not cover all cases. Proper version is:

[AssertThat("IsNewOrder && Adults > 0 || !IsNewOrder", ErrorMessage = "At least one ...")]