Add option allow_empty for Model::validate