1
0
mirror of synced 2024-11-22 05:16:05 +03:00
Go to file
2020-05-22 14:26:40 +03:00
.github/ISSUE_TEMPLATE Library renamed to formulario 2020-05-22 14:22:56 +03:00
build Library renamed to formulario 2020-05-22 14:22:56 +03:00
examples Removed css styles 2020-05-21 14:26:50 +03:00
src Library renamed to formulario 2020-05-22 14:22:56 +03:00
test Tests actualized 2020-05-22 14:22:57 +03:00
.editorconfig Changed intend_size 2020-05-21 14:30:55 +03:00
.eslintignore Removes old cache directory 2020-02-27 23:46:25 -05:00
.eslintrc.js Initial commit of the version 2 rewrite 2019-10-07 10:24:30 -04:00
.gitignore Removed dist folder 2020-05-21 14:26:49 +03:00
.travis.yml Updates build to use node 11 2019-11-01 14:35:06 -04:00
babel.config.js Removes debugging artifacts for Travis CI troubleshooting 2019-11-01 21:03:01 -04:00
LICENSE.txt Library renamed to formulario 2020-05-22 14:22:56 +03:00
package.json Library renamed to formulario 2020-05-22 14:22:56 +03:00
README.md Readme updated 2020-05-22 14:26:40 +03:00
yarn.lock Removed package-lock, yarn.lock added 2020-05-22 14:22:57 +03:00

What is Vue Formulario?

Vue Formulario is a library, based on Vue Formulate, that handling the core logic for working with forms and gives full control of form presentation.

Examples

Every form control must be rendered inside FormularioInput component. This component provides id and context in v-slot props. Control should use context.model as v-model and context.blurHandler as handler for blur event (it is necessary for validation when property errorBehavior is blur). Errors list for field can be accessed through context.allErrors.

Next example creates form for data

    {
        "username": "",
        "password": "",
        "options": {
            "anonym": false,
            "tags": ["test"]
        },
    }
    <FormularioForm
        v-model="formData"
        name="formName"
    >
        <FormularioInput
            v-slot="vSlot"
            name="username"
            validation="required|email"
            error-behavior="live"
        >
            <input
                v-model="vSlot.context.model"
                type="text"
                @blur="vSlot.context.blurHandler"
            >
            <div v-if="vSlot.context.showValidationErrors">
                <span
                    v-for="(error, index) in vSlot.context.allErrors"
                    :key="index"
                >
                    {{ error }}
                </span>
            </div>
        </FormularioInput>

        <FormularioInput
            v-slot="vSlot"
            name="password"
            validation="required|min:4,length"
        >
            <input
                v-model="vSlot.context.model"
                type="password"
            >
        </FormularioInput>

        <FormularioGrouping name="options">
            <FormularioInput
                v-slot="vSlot"
                name="anonym"
            >
                <div>
                    <input
                        :id="vSlot.id"
                        v-model="vSlot.context.model"
                        type="checkbox"
                    >
                    <label :for="vSlot.id">As anonym</label>
                </div>
            </FormularioInput>
        </FormularioGrouping>

        <FormularioInput
            v-slot="vSlot"
            name="options.tags[0]"
        >
            <input
                v-model="vSlot.context.model"
                type="text"
            >
        </FormularioInput>
    </FormularioForm>

License

MIT

Copyright (c) 2020-present, [RetailDriver LLC]
Copyright (c) 2020-present, Braid LLC