In the core validators, some of the client-side validation rules do not mirror the logic of the server-side rules.
Server-side does not fail validation if either of the fields to be compared is empty.
Client-side makes both fields required. If either or both fields are empty, validation fails. This should not be a concern of this validator - if they are required, a required rule should be used in addition.
All validation rules should be checked for consistency.