preesoft-react-pwr
Version:
this is simple react component for password requirments
48 lines (41 loc) • 1.42 kB
JavaScript
import React, { useState } from 'react';
import { storiesOf } from '@storybook/react';
import './styles.css';
import { Requirements } from '../components/Requirements';
const stories = storiesOf('App Test', module);
stories.add('App', () => {
const [valid, setValid] = useState(false);
const [password, setPassword] = useState('');
const [username, setUsername] = useState('');
const passwordRequirements = [
{
text: 'Must be at least 8 characters',
validator: val => val.length >= 8,
},
{
text: 'Must contain at least one number',
validator: val => /\d/g.test(val),
},
{
text: 'Must contain at least one lower-case letter',
validator: val => /[a-z]/g.test(val),
},
{
text: 'Must contain at least one upper-case letter',
validator: val => /[A-Z]/g.test(val),
}
];
return (
<div className='form'>
<h1>Signup</h1>
<Requirements
value={password}
requirements={passwordRequirements}
onValidChange={isValid => setValid(isValid)}
/>
<input placeholder='Username' value={username} onChange={e => setUsername(e.target.value)} />
<input placeholder='Password' type='password' value={password} onChange={e => setPassword(e.target.value)} />
<button disabled={!valid || !username}>Sign Up</button>
</div>
);
});