[wip] Generic form validator

Allows validate to take an array of criteria