Метод получения полей формы зависит от момента валидации, но оба они работают через JS.
Суть в том, чтобы подняться по DOM-дереву до формы, если не обходимо, и в ней уже найти все input, checkbox, radio и textarea.
Далее уже валидировать в зависимости от тэга и типа (в случае с input).
А проверку схожести паролей я бы захардкодил, например по name-ам "password" и "password_repeat" или же во втором поле в data-атрибуте (например data-equal-to) указывал бы name/class/id первого поля, с которым его необходимо сравнить.