I see there is a closed issue (https://github.com/pallets-eco/flask-wtf/issues/363) requesting this, along with an example of how to implement it, but it should be integrated into the base library.