Validador de formulário de correspondência de senha AngularJS

Esta diretiva é útil ao escrever formulários de criação de conta ou redefinição de usuário.

TL; DR

Veja em ação

A diretiva

A diretiva é bastante direta.

  1. Ele recupera a primeira entrada de senha pelo id fornecido password-to-verify.
  2. O segundo elemento de entrada é passado para a linkfunção porque é onde a diretiva está sendo aplicada.
  3. As duas entradas de senha são vinculadas ao evento ‘keyup’. Quando acionada, a checkMatchfunção é chamada. Esta função define o valor de validade da entrada nomeada com base na correspondência ou não entre os dois valores do campo de entrada.
checkMatch = ->
scope
.$apply ->
valid
= elem.val() is firstPasswordElement.val()
ctrl
.$setValidity 'passwordMatch', valid

Uso

Para que a diretiva funcione, os seguintes itens são necessários no formulário:

  1. Um id de password-to-verifydeve ser fornecido na primeira entrada de senha
  2. password-matchdeve ser aplicada para verificar a entrada de senha. A namedeve ser fornecido a esta entrada, a fim de verificar se há erros, ou seja,ng-show="resetPasswordForm.verifyPassword.$error.passwordMatch"

Confira um exemplo de trabalho completo