"...wie_202021_csbillero11.git" did not exist on "cb7fe0343db9beebd7b5a9b4da9ecb2a400dd8c9"
Newer
Older
import { SubmitHandler, useForm } from 'react-hook-form';
import { useIntl } from 'react-intl';
import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';
import { Button } from '@material-ui/core';
const useStyles = makeStyles((theme: Theme) =>
createStyles({
root: {
'& > *': {
margin: theme.spacing(0),
},
},
form: {
width: '100%', // Fix IE 11 issue.
marginTop: theme.spacing(1),
},
submit: {
margin: theme.spacing(3, 0, 2),
},
}),
);
const { control, errors, handleSubmit } = useForm<FormData>({
const onSubmit: SubmitHandler<FormData> = (values: FormData) => {
axios
.post('/api/web/login', {
values,
})
.then((response) => {
// Handle server reponse
// Handle error
<>
<form
className={classes.form}
onSubmit={handleSubmit(onSubmit)}
data-testid="Form"
<InputField
id="email"
validate: (value: string) =>
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(value),
required: {
value: true,
message: intl.formatMessage({ id: 'email' }),
},
}}
label={intl.formatMessage({ id: 'email' })}
error={!!errors.email}
<InputField
id="password"
control={control}
rules={{
minLength: 8,
maxLength: 60,
required: {
value: true,
message: intl.formatMessage({ id: 'password' }),
},
}}
label={intl.formatMessage({ id: 'password' })}
error={!!errors.password}
<Button
type="submit"
fullWidth
variant="contained"
color="primary"
data-testid="Submit"
className={classes.submit}
>
Sign In
</Button>
</form>
<DevTool control={control} /> {/* set up the dev tool */}
</>