diff --git a/src/composable/validation.ts b/src/composable/validation.ts index 09b1fce4..9d1d4242 100644 --- a/src/composable/validation.ts +++ b/src/composable/validation.ts @@ -1,27 +1,30 @@ import { reactive, watch, type Ref } from 'vue'; type UseValidationRule = { - validator: (value: T) => boolean - message: string -} + validator: (value: T) => boolean; + message: string; +}; export function useValidation({ source, rules }: { source: Ref; rules: UseValidationRule[] }) { const state = reactive<{ - message: string, - status: undefined | 'error' + message: string; + status: undefined | 'error'; }>({ message: '', - status: undefined - }) + status: undefined, + }); watch([source], () => { - for(const rule of rules) { - if(!rule.validator(source.value)){ - state.message = rule.message - state.status = 'error' + state.message = ''; + state.status = undefined; + + for (const rule of rules) { + if (!rule.validator(source.value)) { + state.message = rule.message; + state.status = 'error'; } } - }) + }); return state; } diff --git a/src/tools/bip39-generator/bip39-generator.vue b/src/tools/bip39-generator/bip39-generator.vue index 9f9fc679..87f99428 100644 --- a/src/tools/bip39-generator/bip39-generator.vue +++ b/src/tools/bip39-generator/bip39-generator.vue @@ -110,7 +110,7 @@ const entropyValidation = useValidation({ message: 'Entropy length should be >= 16, <= 32 and be a multiple of 4' }, { - validator: (value) => /^[a-fA-f0-9]?$/.test(value), + validator: (value) => /^[a-fA-F0-9]*$/.test(value), message: 'Entropy should an hexadecimal number' } ]