How to use the yup.ref function in yup

To help you get started, we’ve selected a few yup examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github leohmoraes / rocketseat-02 / src / app / controllers / UserController.js View on Github external
(password, field) =>
          password ? field.required().oneOf([Yup.ref('password')]) : field // ref=> referencua
      ),
github OperationCode / front-end / components / RegistrationForm / RegistrationForm.js View on Github external
import styles from './RegistrationForm.css';

const registrationSchema = Yup.object().shape({
  email: Yup.string()
    .required(validationErrorMessages.required)
    .email(validationErrorMessages.email),
  'confirm-email': Yup.string()
    .required(validationErrorMessages.required)
    .oneOf([Yup.ref('email')], validationErrorMessages.emailMatch),
  password: Yup.string()
    .required(validationErrorMessages.required)
    .min(minimumPasswordLength, validationErrorMessages.length(minimumPasswordLength))
    .test('password-strength', validationErrorMessages.password, isMinPasswordStrength),
  'confirm-password': Yup.string()
    .required(validationErrorMessages.required)
    .oneOf([Yup.ref('password')], validationErrorMessages.passwordMatch),
  firstName: Yup.string().required(validationErrorMessages.required),
  lastName: Yup.string().required(validationErrorMessages.required),
  zipcode: Yup.string()
    .required(validationErrorMessages.required)
    .test('zipcode', validationErrorMessages.zipcode, isValidZipcode),
});

RegistrationForm.propTypes = {
  onSuccess: func.isRequired,
  initialValues: shape({
    email: string,
    'confirm-email': string,
    password: string,
    'confirm-password': string,
    firstName: string,
    lastName: string,
github erikrahm / grand-stack-seed / client / src / form-validation / login.js View on Github external
.max(255)
    .required(passwordRequired)
});

export const RegisterValidation = Yup.object().shape({
  email: Yup.string()
    .min(3, emailLength)
    .max(255)
    .email(invalidEmail)
    .required(emailRequired),
  password: Yup.string()
    .min(3, passwordLength)
    .max(255)
    .required(passwordRequired),
  confirmPassword: Yup.string()
    .oneOf([Yup.ref("password"), null], "Password Fields must match")
    .required("Confirm Password is required"),
  username: Yup.string()
    .min(3, "Username must be at least 3 characters")
    .required("Required")
});
github GenesisVision / web-client / packages / manager / src / pages / programs / programs-settings / change-password / components / change-password-trading-account.validators.ts View on Github external
export const ChangePasswordTradingAccountValidationSchema = (
  params: i18next.WithT & IChangePasswordTradingAccountValidationSchema
) =>
  object().shape({
    twoFactorCode: twoFactorValidator(params),
    password: passwordValidator({ t: params.t }),
    confirmPassword: string()
      .oneOf(
        [ref("password")],
        params.t(
          "password-change-trading-account.validators.password-dont-match"
        )
      )
      .required(
        params.t(
          "password-change-trading-account.validators.confirm-password-required"
        )
      )
  });
github hackforla / tdm-calculator / client / src / components / ResetPassword.js View on Github external
import React, { useState } from 'react';
import { withRouter } from "react-router-dom";
import * as accountService from "../services/account-service";
import { Formik, Form, Field, ErrorMessage } from "formik";
import * as Yup from "yup";
import clsx from 'clsx';
import { useStyles } from './ResetPasswordRequest'


const validationSchema = Yup.object().shape({
  password: Yup.string()
  .min(8, "Password must be atleast 8 characters")
  .required('Password is Required'),
  passwordConfirm: Yup.string()
    .required("Confirm your password")
    .oneOf([Yup.ref("password")], "Password does not match")
})

export function ResetPassword(props) {
  const [ success, setSuccess ] = useState(false);
  const { token } = props.match.params;
  const classes = useStyles();

  const handleSubmit = async (
    { token, password}, { setFieldError }
  ) => {
    const submitResponse = await accountService
      .resetPassword({ token, password });
      if (submitResponse.data.isSuccess) {
        setSuccess(true)
      } else  {
        setFieldError('passwordConfirm', submitResponse.data.message)
github GenesisVision / web-client / packages / investor / src / pages / auth / forgot-password / password-restore / components / password-restore.js View on Github external
validationSchema: ({ t }) =>
      object().shape({
        password: string()
          .min(6, t("auth.password-restore.validators.password-weak"))
          .required(t("auth.password-restore.validators.password-required")),
        confirmPassword: string()
          .oneOf(
            [ref("password")],
            t("auth.password-restore.validators.password-dont-match")
          )
          .required(
            t("auth.password-restore.validators.confirm-password-required")
          )
      }),
    handleSubmit: (values, { props, setSubmitting }) => {
github OpenCTI-Platform / opencti / opencti-platform / opencti-front / src / private / components / profile / ProfileOverview.js View on Github external
const passwordValidation = t => Yup.object().shape({
  password: Yup.string().required(t('This field is required')),
  confirmation: Yup.string()
    .oneOf([Yup.ref('password'), null], t('The values do not match'))
    .required(t('This field is required')),
});
github danielmahon / opencrud-admin / src / components / screens / ResourceEdit.js View on Github external
} else {
                    schema = schema.mixed();
                  }

                  if (shouldBeRequired(inputField.name, fieldConfig)) {
                    schema = schema.required('Required');
                  } else {
                    schema = schema.nullable();
                  }

                  if (
                    ['Password'].includes(typeName) ||
                    fieldConfig.widget === 'Password'
                  ) {
                    const confirmSchema = schema.oneOf(
                      [yup.ref(inputField.name)],
                      'Passwords must match'
                    );
                    acc[`${inputField.name}Confirm`] = confirmSchema;

                    schema = schema.oneOf(
                      [yup.ref(`${inputField.name}Confirm`)],
                      'Passwords must match'
                    );
                  }

                  acc[inputField.name] = schema;

                  return acc;
                },
                {}
github davideddr / react-native-hook-form-builder / lib / components / Form.js View on Github external
val =
                    val[currentLocale] || val[deviceLanguage] || val.default;
                }
                params.push(val);
              });
            }
            validator[f.name] = validator[f.name][v.name].apply(
              validator[f.name],
              params,
            );
          });
          if (
            ['password-confirmation', 'passwordConfirmation'].includes(f.name)
          ) {
            validator[f.name] = validator[f.name].oneOf(
              [yup.ref('password'), null],
              f.passwordConfirmationMessage[currentLocale] ||
                f.passwordConfirmationMessage[deviceLanguage] ||
                f.passwordConfirmationMessage.default,
            );
          }
        }
      });
    });
github blockstack / blockstack-browser / app / js / sign-up / views / _old / Password.js View on Github external
import React, { Fragment } from 'react'
import { FastField, Form, Formik } from 'formik'
import { PanelCard, PanelCardHeader } from '@components/PanelShell'
import { LockOpenIcon } from 'mdi-react'
import Yup from 'yup'
import { Button } from '@components/styled/Button'
import PropTypes from 'prop-types'

const validationSchema = Yup.object({
  password: Yup.string()
    .min(8, 'Your password is too short.')
    .required('A passsword is required.'),
  passwordConfirm: Yup.string()
    .oneOf([Yup.ref('password')], 'Passwords do not match.')
    .required('Please confirm your password.')
})

const panelHeader = () => (
  
)

const Password = ({ next, updateValue, password, ...rest }) => (