mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 07:03:38 +00:00
Add selector for errors
This commit is contained in:
parent
bba6f9d85f
commit
a225d144c6
@ -139,6 +139,7 @@ class InputAddonWithErrors extends React.Component { // eslint-disable-line reac
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -117,6 +117,7 @@ class InputCheckboxWithErrors extends React.Component {
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={this.state.errors}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -137,6 +137,7 @@ class InputDateWithErrors extends React.Component { // eslint-disable-line react
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -135,6 +135,7 @@ class InputEmailWithErrors extends React.Component { // eslint-disable-line reac
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -23,6 +23,7 @@ function InputErrors(props) {
|
||||
styles.errorContainer,
|
||||
!isEmpty(props.className) && props.className,
|
||||
)}
|
||||
id={`errorOf${props.name}`}
|
||||
key={key}
|
||||
style={divStyle}
|
||||
>
|
||||
@ -37,12 +38,14 @@ function InputErrors(props) {
|
||||
InputErrors.defaultProps = {
|
||||
className: '',
|
||||
errors: [],
|
||||
name: '',
|
||||
style: {},
|
||||
};
|
||||
|
||||
InputErrors.propTypes = {
|
||||
className: PropTypes.string,
|
||||
errors: PropTypes.array,
|
||||
name: PropTypes.string,
|
||||
style: PropTypes.object,
|
||||
};
|
||||
|
||||
|
||||
@ -117,6 +117,7 @@ class InputFileWithErrors extends React.PureComponent {
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -131,6 +131,7 @@ class InputNumberWithErrors extends React.Component { // eslint-disable-line rea
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -133,6 +133,7 @@ class InputPasswordWithErrors extends React.Component {
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -135,6 +135,7 @@ class InputSearchWithErrors extends React.Component { // eslint-disable-line rea
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -117,6 +117,7 @@ class InputSelectWithErrors extends React.Component {
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={this.state.errors}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@ -131,6 +131,7 @@ class InputTextAreaWithErrors extends React.Component { // eslint-disable-line r
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -132,6 +132,7 @@ class InputTextWithErrors extends React.Component { // eslint-disable-line react
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -105,6 +105,7 @@ class InputToggleWithErrors extends React.Component {
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -51,6 +51,7 @@ class InputJSONWithErrors extends React.Component { // eslint-disable-line react
|
||||
this.setErrors(errors);
|
||||
}
|
||||
}
|
||||
|
||||
setErrors = errors => this.setState({ errors });
|
||||
|
||||
setInit = () => this.setState({ hasInitialValue: true });
|
||||
@ -143,6 +144,7 @@ class InputJSONWithErrors extends React.Component { // eslint-disable-line react
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -239,7 +239,7 @@ class PreviewWysiwyg extends React.PureComponent {
|
||||
onChange={() => {}}
|
||||
placeholder={placeholder}
|
||||
/>
|
||||
<input className={styles.editorInput} value="" tabIndex="-1" />
|
||||
<input className={styles.editorInput} value="" onChange={() => {}} tabIndex="-1" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@ -137,6 +137,7 @@ class WysiwygWithErrors extends React.Component { // eslint-disable-line react/p
|
||||
<InputErrors
|
||||
className={errorsClassName}
|
||||
errors={!noErrorsDescription && this.state.errors || []}
|
||||
name={name}
|
||||
style={errorsStyle}
|
||||
/>
|
||||
{spacer}
|
||||
|
||||
@ -199,7 +199,7 @@ export class EditPage extends React.Component {
|
||||
|
||||
handleBlur = ({ target }) => {
|
||||
const defaultValue = get(this.getModelAttribute(target.name), 'default');
|
||||
|
||||
|
||||
if (isEmpty(target.value) && defaultValue && target.value !== false) {
|
||||
return this.props.changeData({
|
||||
target: {
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
import {
|
||||
findIndex,
|
||||
forEach,
|
||||
isObject,
|
||||
includes,
|
||||
isArray,
|
||||
isBoolean,
|
||||
isEmpty,
|
||||
isNaN,
|
||||
isNull,
|
||||
isNumber,
|
||||
isObject,
|
||||
isUndefined,
|
||||
map,
|
||||
mapKeys,
|
||||
includes,
|
||||
reject,
|
||||
isEmpty,
|
||||
findIndex,
|
||||
isUndefined,
|
||||
isBoolean,
|
||||
isNumber,
|
||||
} from 'lodash';
|
||||
|
||||
/* eslint-disable consistent-return */
|
||||
@ -101,7 +103,7 @@ function validate(value, validations) {
|
||||
case 'type':
|
||||
if (validationValue === 'json') {
|
||||
try {
|
||||
if (isObject(value) || isBoolean(value) || isNumber(value) || isArray(value)) {
|
||||
if (isObject(value) || isBoolean(value) || isNumber(value) || isArray(value) || isNaN(value) || isNull(value)) {
|
||||
value = JSON.parse(JSON.stringify(value));
|
||||
} else {
|
||||
errors.push({ id: 'content-manager.error.validation.json' });
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user