akito0107/favalid

View on GitHub
src/examples/password.ts

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
import { combine, required, tester } from "../main";

const REQUIRED_PASSWORD_CONFIRMATION_MESSAGE = () => "required.";
const PASSWORD_NOT_MATCHED_MESSAGE = () => "password not matched.";

export const passwordConfirmationValidator = (
  password: string,
  passwordConfirmation: string
) => {
  return combine(
    required(REQUIRED_PASSWORD_CONFIRMATION_MESSAGE),
    tester((confirmation, origin) => {
      return confirmation === origin;
    }, PASSWORD_NOT_MATCHED_MESSAGE)
  )(passwordConfirmation, password);
};