So far, the validations we've done have been pretty simple. But now we get to spread our wings and fly a little and explore how the FluentValidation library can help us elegantly express some more complex validation rules using techniques like regexes and C# predicate expressions. We'll also learn how to customize the messages that our validations emit.