reword touched logic and export it as a store
This commit is contained in:
parent
2b3c4ee2bc
commit
c450e5cd8a
1 changed files with 7 additions and 6 deletions
|
@ -4,15 +4,16 @@ export function createValidationStore(initialValue, ...validators) {
|
||||||
let touched = false
|
let touched = false
|
||||||
|
|
||||||
const value = writable(initialValue || '')
|
const value = writable(initialValue || '')
|
||||||
const error = derived(value, $v => {
|
const error = derived(value, $v => validate($v, validators))
|
||||||
if (touched) {
|
const touchedStore = derived(value, () => {
|
||||||
return validate($v, validators)
|
if (!touched) {
|
||||||
} else {
|
|
||||||
touched = true
|
touched = true
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
return touched
|
||||||
})
|
})
|
||||||
|
|
||||||
return [value, error]
|
return [value, error, touchedStore]
|
||||||
}
|
}
|
||||||
|
|
||||||
function validate(value, validators) {
|
function validate(value, validators) {
|
||||||
|
|
Loading…
Reference in a new issue