UNPKG

@lion/ui

Version:

A package of extendable web components

115 lines (97 loc) 3.11 kB
--- title: 'Input Iban: Use Cases' parts: - Input Iban - Use Cases eleventyNavigation: key: 'Input Iban: Use Cases' order: 20 parent: Input Iban title: Use Cases --- # Input Iban: Use Cases ```js script import { html } from '@mdjs/mdjs-preview'; import { loadDefaultFeedbackMessages } from '@lion/ui/validate-messages.js'; import { IsCountryIBAN, IsNotCountryIBAN } from '@lion/ui/input-iban.js'; import '@lion/ui/define/lion-input-iban.js'; ``` ## Prefilled ```js preview-story export const prefilled = () => html` <lion-input-iban .modelValue="${'NL20INGB0001234567'}" name="iban" label="IBAN"></lion-input-iban> `; ``` ## Faulty Prefilled ```js preview-story export const faultyPrefilled = () => html` <lion-input-iban .modelValue="${'NL20INGB0001234567XXXX'}" name="iban" label="IBAN" ></lion-input-iban> `; ``` ## Country Restrictions By default, we validate the input to ensure the IBAN is valid. To get the default feedback message for this default validator, use `loadDefaultFeedbackMessages` from `@lion/form-core`. In the example below, we show how to use an additional validator that restricts the `input-iban` to IBANs from only certain countries. ```js preview-story export const countryRestrictions = () => { loadDefaultFeedbackMessages(); return html` <lion-input-iban .modelValue="${'DE89370400440532013000'}" .validators="${[new IsCountryIBAN('NL')]}" name="iban" label="IBAN" ></lion-input-iban> <br /> <small>Demo instructions: you can use NL20 INGB 0001 2345 67</small> `; }; ``` You can pass a single string value, or an array of strings. The latter may be useful, for example if you only want to allow BeNeLux IBANs. ```js preview-story export const countryRestrictionsMultiple = () => { loadDefaultFeedbackMessages(); return html` <lion-input-iban .modelValue="${'DE89370400440532013000'}" .validators="${[new IsCountryIBAN(['BE', 'NL', 'LU'])]}" name="iban" label="IBAN" ></lion-input-iban> <br /> <small>Demo instructions: you can use:</small> <ul> <li><small>BE68 5390 0754 7034</small></li> <li><small>NL20 INGB 0001 2345 67</small></li> <li><small>LU28 0019 4006 4475 0000</small></li> </ul> `; }; ``` ## Blacklisted Country By default, we validate the input to ensure the IBAN is valid. To get the default feedback message for this default validator, use `loadDefaultFeedbackMessages` from `@lion/form-core`. In the example below, we show how to use an additional validator that blocks IBANs from certain countries. You can pass a single string value, or an array of strings. ```js preview-story export const blacklistedCountry = () => { loadDefaultFeedbackMessages(); return html` <lion-input-iban .modelValue="${'DE89370400440532013000'}" .validators="${[new IsNotCountryIBAN(['RO', 'NL'])]}" name="iban" label="IBAN" ></lion-input-iban> <br /> <small> Demo instructions: Try <code>RO 89 RZBR 6997 3728 4864 5577</code> and watch it fail </small> `; }; ```