duration & time input: input visual invalidation
This commit is contained in:
@@ -80,7 +80,7 @@
|
|||||||
/** Whether the input is required */
|
/** Whether the input is required */
|
||||||
required?: boolean;
|
required?: boolean;
|
||||||
/** Message to show when the input is invalid */
|
/** Message to show when the input is invalid */
|
||||||
invalidMessage?: string;
|
invalidMessage?: string | null;
|
||||||
/** Whether to use compact styling */
|
/** Whether to use compact styling */
|
||||||
compact?: boolean;
|
compact?: boolean;
|
||||||
/** Additional classes are applied to the root container (div element) */
|
/** Additional classes are applied to the root container (div element) */
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
value = $bindable(null),
|
value = $bindable(null),
|
||||||
formattedValue = $bindable(''),
|
formattedValue = $bindable(''),
|
||||||
required = false,
|
required = false,
|
||||||
invalidMessage = 'Please enter a duration',
|
invalidMessage = null,
|
||||||
compact,
|
compact,
|
||||||
class: classValue,
|
class: classValue,
|
||||||
onchange
|
onchange
|
||||||
@@ -280,6 +280,7 @@
|
|||||||
placeholder={opts.placeholder}
|
placeholder={opts.placeholder}
|
||||||
validate={{ pattern: opts.pattern }}
|
validate={{ pattern: opts.pattern }}
|
||||||
use={(n) => liveValidator(n, keydownValidatorOpts)}
|
use={(n) => liveValidator(n, keydownValidatorOpts)}
|
||||||
|
forceInvalid={!valid}
|
||||||
onkeydown={opts.onkeydown}
|
onkeydown={opts.onkeydown}
|
||||||
oninput={opts.oninput}
|
oninput={opts.oninput}
|
||||||
onblur={opts.onblur}
|
onblur={opts.onblur}
|
||||||
@@ -296,4 +297,12 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{/each}
|
{/each}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{#if !valid && invalidMessage}
|
||||||
|
<div class={['opacity-0 transition-opacity', !valid && 'opacity-100']}>
|
||||||
|
<Label for={id} error={true}>
|
||||||
|
{invalidMessage}
|
||||||
|
</Label>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -266,6 +266,7 @@
|
|||||||
min={0}
|
min={0}
|
||||||
validate={{ pattern: opts.pattern }}
|
validate={{ pattern: opts.pattern }}
|
||||||
use={(n) => liveValidator(n, keydownValidatorOpts)}
|
use={(n) => liveValidator(n, keydownValidatorOpts)}
|
||||||
|
forceInvalid={!valid}
|
||||||
onkeydown={opts.onkeydown}
|
onkeydown={opts.onkeydown}
|
||||||
oninput={opts.oninput}
|
oninput={opts.oninput}
|
||||||
onblur={opts.onblur}
|
onblur={opts.onblur}
|
||||||
|
|||||||
Reference in New Issue
Block a user