Skip to content

Commit b6b2ea7

Browse files
committed
Components: Input, ListInput - add onValidate callback
1 parent c4dde09 commit b6b2ea7

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

src/phenome/components/input.jsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export default {
4444
pattern: String,
4545
validate: [Boolean, String],
4646
validateOnBlur: Boolean,
47+
onValidate: Function,
4748
tabindex: [String, Number],
4849
resizable: Boolean,
4950
clearButton: Boolean,
@@ -497,12 +498,14 @@ export default {
497498
if (!f7 || !inputEl) return;
498499
const validity = inputEl.validity;
499500
if (!validity) return;
500-
501+
const { onValidate } = self.props;
501502
if (!validity.valid) {
503+
if (onValidate) onValidate(false);
502504
if (self.state.inputInvalid !== true) {
503505
self.setState({ inputInvalid: true });
504506
}
505507
} else if (self.state.inputInvalid !== false) {
508+
if (onValidate) onValidate(true);
506509
self.setState({ inputInvalid: false });
507510
}
508511
},

src/phenome/components/list-input.jsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export default {
6464
pattern: String,
6565
validate: [Boolean, String],
6666
validateOnBlur: Boolean,
67+
onValidate: Function,
6768
tabindex: [String, Number],
6869
resizable: Boolean,
6970
clearButton: Boolean,
@@ -540,12 +541,14 @@ export default {
540541
if (!f7 || !inputEl) return;
541542
const validity = inputEl.validity;
542543
if (!validity) return;
543-
544+
const { onValidate } = self.props;
544545
if (!validity.valid) {
546+
if (onValidate) onValidate(false);
545547
if (self.state.inputInvalid !== true) {
546548
self.setState({ inputInvalid: true });
547549
}
548550
} else if (self.state.inputInvalid !== false) {
551+
if (onValidate) onValidate(true);
549552
self.setState({ inputInvalid: false });
550553
}
551554
},

src/svelte/components/input.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
export let pattern = undefined;
4444
export let validate = undefined;
4545
export let validateOnBlur = undefined;
46+
export let onValidate = undefined;
4647
export let tabindex = undefined;
4748
export let resizable = undefined;
4849
export let clearButton = undefined;
@@ -101,10 +102,12 @@
101102
if (!validity) return;
102103
103104
if (!validity.valid) {
105+
if (onValidate) onValidate(false);
104106
if (inputInvalid !== true) {
105107
inputInvalid = true;
106108
}
107109
} else if (inputInvalid !== false) {
110+
if (onValidate) onValidate(true);
108111
inputInvalid = false;
109112
}
110113
}

src/svelte/components/list-input.svelte

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
export let pattern = undefined;
4949
export let validate = undefined;
5050
export let validateOnBlur = undefined;
51+
export let onValidate = undefined;
5152
export let tabindex = undefined;
5253
export let resizable = undefined;
5354
export let clearButton = undefined;
@@ -110,10 +111,12 @@
110111
if (!validity) return;
111112
112113
if (!validity.valid) {
114+
if (onValidate) onValidate(false);
113115
if (inputInvalid !== true) {
114116
inputInvalid = true;
115117
}
116118
} else if (inputInvalid !== false) {
119+
if (onValidate) onValidate(true);
117120
inputInvalid = false;
118121
}
119122
}

0 commit comments

Comments
 (0)