mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-02-17 00:21:20 -05:00
added initial formik input component, form validation message component
This commit is contained in:
parent
e25f0b82fe
commit
c6fc3621d4
2 changed files with 57 additions and 0 deletions
39
src/components/formik-forms/formik-input.jsx
Normal file
39
src/components/formik-forms/formik-input.jsx
Normal file
|
@ -0,0 +1,39 @@
|
|||
const classNames = require('classnames');
|
||||
const PropTypes = require('prop-types');
|
||||
const React = require('react');
|
||||
import {Field} from 'formik';
|
||||
|
||||
const ValidationMessage = require('../forms/validation-message.jsx');
|
||||
|
||||
require('../forms/input.scss');
|
||||
require('../forms/row.scss');
|
||||
|
||||
const FormikInput = ({
|
||||
className,
|
||||
error,
|
||||
...props
|
||||
}) => (
|
||||
<div className="col-sm-9 row">
|
||||
<Field
|
||||
className={classNames(
|
||||
'input',
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
/>
|
||||
{error && (
|
||||
<ValidationMessage>
|
||||
{error}
|
||||
</ValidationMessage>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
|
||||
|
||||
FormikInput.propTypes = {
|
||||
className: PropTypes.string,
|
||||
error: PropTypes.string,
|
||||
type: PropTypes.string
|
||||
};
|
||||
|
||||
module.exports = FormikInput;
|
18
src/components/forms/validation-message.jsx
Normal file
18
src/components/forms/validation-message.jsx
Normal file
|
@ -0,0 +1,18 @@
|
|||
const classNames = require('classnames');
|
||||
const PropTypes = require('prop-types');
|
||||
const React = require('react');
|
||||
|
||||
require('./validation-message.scss');
|
||||
|
||||
const ValidationMessage = props => (
|
||||
<div className={classNames(['validation-message', props.className])}>
|
||||
{props.message}
|
||||
</div>
|
||||
);
|
||||
|
||||
ValidationMessage.propTypes = {
|
||||
className: PropTypes.string,
|
||||
message: PropTypes.string
|
||||
};
|
||||
|
||||
module.exports = ValidationMessage;
|
Loading…
Reference in a new issue