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