I forked you to add the option to ignore unrecognized fields because my UI framework adds some but my Node.js API doesn't need to care. But, while reading through your code I noticed that I can get effectively the same results by instantiating my validator with a null second parameter (existing_error) :
new FieldVal(input, null);
But, I think that's just a coincidence since it still does unrecognized logic checking in generate_response().
I took a quick stab at accepting options without breaking backwards compatibility over here :
https://github.com/darcling/fieldval-js/commit/76cfc059a8297baa78dc460210fe981b41ff7fb0
But I only added the 'ignore unrecognized fields' option because that's what I needed : )
You may have a better way.
Thanks for the library by the way, I'm just getting rolling with it.