I like a separate Identical better - in a previous version i had a separate "Same" constraint. I think it's more consistent with the current comparisons this way, and more explicit rather than having one constraint + validator with a switch for different behaviour modes. I'll add it in. For the messages I prefer [2] - the difference between quotes and no quotes to indicate type is a pretty subtle thing that might be missed. Having said that - it makes it a bit technical (most website users will have a very different idea of what a "string" is).