Validation (#216)
* Field config options: 'required' and 'pattern' * Widget controls can implement it's own isValid * Validation errors store in redux & displayed * Support for returned Promises in isValid * Allow widget controls to return either a boolean, an error object or a promise from isValid
This commit is contained in:
@ -7,6 +7,7 @@ import {
|
||||
createEmptyDraft,
|
||||
discardDraft,
|
||||
changeDraftField,
|
||||
changeDraftFieldValidation,
|
||||
persistEntry,
|
||||
} from '../actions/entries';
|
||||
import { closeEntry } from '../actions/editor';
|
||||
@ -23,6 +24,7 @@ class EntryPage extends React.Component {
|
||||
addAsset: PropTypes.func.isRequired,
|
||||
boundGetAsset: PropTypes.func.isRequired,
|
||||
changeDraftField: PropTypes.func.isRequired,
|
||||
changeDraftFieldValidation: PropTypes.func.isRequired,
|
||||
collection: ImmutablePropTypes.map.isRequired,
|
||||
createDraftFromEntry: PropTypes.func.isRequired,
|
||||
createEmptyDraft: PropTypes.func.isRequired,
|
||||
@ -72,8 +74,8 @@ class EntryPage extends React.Component {
|
||||
};
|
||||
|
||||
handlePersistEntry = () => {
|
||||
const { persistEntry, collection, entryDraft } = this.props;
|
||||
persistEntry(collection, entryDraft);
|
||||
const { persistEntry, collection } = this.props;
|
||||
persistEntry(collection);
|
||||
};
|
||||
|
||||
render() {
|
||||
@ -84,6 +86,7 @@ class EntryPage extends React.Component {
|
||||
boundGetAsset,
|
||||
collection,
|
||||
changeDraftField,
|
||||
changeDraftFieldValidation,
|
||||
addAsset,
|
||||
removeAsset,
|
||||
closeEntry,
|
||||
@ -104,7 +107,9 @@ class EntryPage extends React.Component {
|
||||
collection={collection}
|
||||
fields={fields}
|
||||
fieldsMetaData={entryDraft.get('fieldsMetaData')}
|
||||
fieldsErrors={entryDraft.get('fieldsErrors')}
|
||||
onChange={changeDraftField}
|
||||
onValidate={changeDraftFieldValidation}
|
||||
onAddAsset={addAsset}
|
||||
onRemoveAsset={removeAsset}
|
||||
onPersist={this.handlePersistEntry}
|
||||
@ -138,6 +143,7 @@ export default connect(
|
||||
mapStateToProps,
|
||||
{
|
||||
changeDraftField,
|
||||
changeDraftFieldValidation,
|
||||
addAsset,
|
||||
removeAsset,
|
||||
loadEntry,
|
||||
|
@ -40,8 +40,8 @@ export default function EntryPageHOC(EntryPage) {
|
||||
};
|
||||
|
||||
// Overwrite persistEntry to persistUnpublishedEntry
|
||||
returnObj.persistEntry = (collection, entryDraft) => {
|
||||
dispatch(persistUnpublishedEntry(collection, entryDraft, unpublishedEntry));
|
||||
returnObj.persistEntry = (collection) => {
|
||||
dispatch(persistUnpublishedEntry(collection, unpublishedEntry));
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user