Update Validation: Allow specifying required keypaths

isValid() returns false if any required keypath is undefined