From 2b0dddf44f73301f53078b37545c2cf155d7c3f2 Mon Sep 17 00:00:00 2001 From: Alf Eaton <eaton.alf@gmail.com> Date: Fri, 1 Sep 2017 10:17:08 +0100 Subject: [PATCH] Add more required attributes + validations --- packages/component-submit/src/components/Declarations.js | 3 +++ packages/component-submit/src/components/Metadata.js | 8 +++++++- packages/component-submit/src/components/Notes.js | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/component-submit/src/components/Declarations.js b/packages/component-submit/src/components/Declarations.js index c7e08e81f..0be709c56 100644 --- a/packages/component-submit/src/components/Declarations.js +++ b/packages/component-submit/src/components/Declarations.js @@ -2,6 +2,7 @@ import React from 'react' import classnames from 'classnames' import { FormSection, Field } from 'redux-form' import { YesOrNo } from 'xpub-ui' +import { required } from '../lib/validators' import classes from './Declarations.local.css' const Declarations = ({ journal }) => ( @@ -17,6 +18,8 @@ const Declarations = ({ journal }) => ( <Field name={question.id} + required + validate={[required]} component={props => <YesOrNo inline={true} {...props.input}/>}/> </div> ))} diff --git a/packages/component-submit/src/components/Metadata.js b/packages/component-submit/src/components/Metadata.js index 5248a19f1..288156a66 100644 --- a/packages/component-submit/src/components/Metadata.js +++ b/packages/component-submit/src/components/Metadata.js @@ -10,6 +10,7 @@ const Metadata = ({ journal, validators }) => ( <div className={classes.section} id="metadata.title"> <Field name="title" + required validate={[minChars(20), maxChars(500)]} component={props => <ValidatedField {...props.meta}> @@ -24,6 +25,7 @@ const Metadata = ({ journal, validators }) => ( <div className={classes.section} id="metadata.abstract"> <Field name="abstract" + required validate={[minChars(100), maxChars(5000)]} component={props => <ValidatedField {...props.meta}> @@ -39,6 +41,7 @@ const Metadata = ({ journal, validators }) => ( <div className={classes.label}>Authors</div> <Field name="authors" + required validate={[minSize(1)]} component={props => <ValidatedField {...props.meta}> @@ -53,6 +56,7 @@ const Metadata = ({ journal, validators }) => ( <div className={classes.label}>Keywords</div> <Field name="keywords" + required validate={[minSize(1)]} component={props => <ValidatedField {...props.meta}> @@ -67,7 +71,8 @@ const Metadata = ({ journal, validators }) => ( <div className={classes.label}>Type of article</div> <Field name="articleType" - warn={[required]} + required + validate={[required]} component={props => <ValidatedField {...props.meta}> <Menu options={journal.articleTypes} {...props.input}/> @@ -79,6 +84,7 @@ const Metadata = ({ journal, validators }) => ( <div className={classes.label}>Section</div> <Field name="articleSection" + required validate={[required]} component={props => <ValidatedField {...props.meta}> diff --git a/packages/component-submit/src/components/Notes.js b/packages/component-submit/src/components/Notes.js index e33cfa378..e9020e1e0 100644 --- a/packages/component-submit/src/components/Notes.js +++ b/packages/component-submit/src/components/Notes.js @@ -2,6 +2,7 @@ import React from 'react' import { FormSection, Field } from 'redux-form' import { NoteEditor } from 'xpub-edit' import { ValidatedField } from 'xpub-ui' +import { required } from '../lib/validators' import classes from './Metadata.local.css' const Notes = () => ( @@ -9,6 +10,7 @@ const Notes = () => ( <div className={classes.section} id="notes.fundingAcknowledgement"> <Field name="fundingAcknowledgement" + validate={[required]} component={props => <ValidatedField {...props.meta}> <NoteEditor -- GitLab