Skip to content

Commit 24f4cc4

Browse files
committed
Better value checking
1 parent 775b9e9 commit 24f4cc4

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-validify",
3-
"version": "2.0.7",
3+
"version": "2.0.8",
44
"description": "Form validation made easy",
55
"main": "dist/form.js",
66
"directories": {

src/input.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,31 @@
22
import React from 'react';
33
import getError from './get-error';
44

5+
const filters = {
6+
checkbox: value => value || value === false,
7+
radio: value => value || value === false,
8+
default: value => value,
9+
};
10+
11+
const getValue = (type, values) => {
12+
let filter = filters[type] || filters.default;
13+
14+
let value = values.filter(filter)[0];
15+
if (filter(value)) return value;
16+
17+
return '';
18+
};
19+
520
export default (child, propValues, children, errors, component) => {
6-
let { name, onKeyUp, onEnter } = child.props;
21+
let { name, onKeyUp, onEnter, type } = child.props;
722

823
return React.cloneElement(child, {
924
children,
1025
onChange: e =>
1126
component.validateOnBlurOrChange(name, () => component.onChange(e)),
1227
onBlur: () => component.validateOnBlurOrChange(name),
1328
error: getError(errors, component.props.errors, name),
14-
value:
15-
component.state.values[name] || component.state.values[name] === false
16-
? component.state.values[name]
17-
: propValues[name] || propValues[name] === false
18-
? propValues[name]
19-
: '',
29+
value: getValue(type, [component.state.values[name], propValues[name]]),
2030
onKeyUp: e => {
2131
if (onKeyUp) onKeyUp(e);
2232
if (e.keyCode !== 13) return;

0 commit comments

Comments
 (0)