# 変更记录
# v2.5.2 — March 5, 2021
- New Features 🎉:
- Adds Hungarian 🇭🇺 translation.
- Adds a
required:trimrule option to invalidate inputs with only whitespace.
- Bug fixes 🐛:
- Fixes a bug that caused debounced forms to not populate properly when server rendered.
- The
indexwas not being passed to theremoveslot ongroupinputs, but now it is. - Fixes a bug that caused checkbox groups inside repeating groups to reset their initial values when being hydrated from a
FormulateForm. - Fixes a bug that was introduce in
2.5.1that caused improper dom node re-use in repeatable groups when a group item was removed.
# v.2.5.1 — March 2, 2021
- New Features 🎉:
- Adds a Nuxt (opens new window) module for easier installation and configuration with Nuxt.
- Adds new
debounceprop to inputs and forms allowing you to delay the input value from triggering model dependencies. - New
createdevent emitted byFormulateForm. - You can now easily disable select list options by adding a
disabledproperty to the option object. - Adds Vietnamese 🇻🇳 and Turkish 🇹🇷 translations.
- Bug fixes 🐛:
- Fixed an issue that could cause groups to loose focus on initial input keystroke.
- Fixed a bug that caused errors when adding a new file to an already populated
multiplefile input. - Fixed a bug that caused some checkboxes inside
grouptypes to not be set programmatically. - Fixed a bug in the
datevalidation rule that did not properly validate days using theDpattern.
# v.2.5.0 — January 14, 2021
Vue Formulate 2.5.0 is a significant release that includes 45 closed GitHub issues, implementation of many highly requested features, and improvements to groups and file uploads.
New Features 🎉:
- Adds support for events on schema generated forms.
FormulateFormnow exposes a context object with properties likeisValid.- Adds multiple new slots and slotComponents:
buttonContentoverrides all#defaultslots for buttons (slotComponent only).fileoverrides each individual file onfileandimageinputs.uploadAreaMaskoverrides the visible dropzone forfileandimageinputs when they have no value.errorListoverrides rendering of all error lists system wide without requiring any logic changes (slotComponent only).prefixallows content immediately before the input element on all types.suffixallows content immediately after the input element on all types.
- New
ignoredprop onFormulateInputpreventsFormulateFormfrom model binding or registering the input in any way. - New
remove-positionprop allows changing the position of theremoveslot/button on repeatablegrouptypes. - Each group’s
indexis now available to theremoveslot of agrouptype. - Adds
form,formErrorsandformErrorclass keys for styling form errors. - Adds
fileImagePreviewImageclass key for stylingimagepreviews. - Form
@submithandlers can now return aPromiseand use an automaticisLoadingproperty in the form context object. - New
invalid-messageprop to show form error when a user attempts to submit a form with invalid fields, useful for long forms where users may not be able to see the errant fields. - Adds a new
@failed-validationevent when a form submission is attempted but blocked due to invalid fields. - Adds new events to
fileclassification inputs@file-upload-progress,@file-upload-complete,@file-upload-error,@file-removed. - Adds ability to upload additional files to
filetype with themultipleattribute. Includes newaddFileandaddFileInputclass keys. - Adds the ability to place error messages on deeply nested
grouptypes by using "dot notation". - Adds a new
useInputDecoratorsglobal option to disableboxinput decorators. - Adds a new
validationNameStrategyglobal option that allows you to declare the priority of props that are used in validation messages as thename. - Adds new
@repeatableAddedand@repeatableRemovedevents togrouptypes. - Adds a new
rules(validation rules) property to the input context object. Especially useful for use in slots for doing things like adding an asterisk to the label of a field with therequiredvalidation rule. - Adds automatic string casting for numeric option values (for
selectandcheckboxtypes) - Option lists for
selectandcheckboxcan now be a simple array of strings['Amy', 'Janey', 'Rainy'] - Adds new
error-behaviorvaluethat shows validation errors after a field has had a value, or been blurred. - Adds a new
blur-contextevent for inputs that emits when the input is blurred and contains thecontextobject as the payload. - New translations for
Catalan and 🇸🇰 Slovak.
- Language updates for German and Serbian.
Bug fixes 🐛:
- Fixes an issue where
fileandimagetype inputs could submit old data after an input had been cleared. - Fixes a bug that threw an error when attempting to upload an invalid
mimeand then remove it. - Fixes a bug that caused an upload progress bar to appear on re-hydrated files when submitting a form.
- Fixes issue causing
groupv-models required full replacement (new object reference) to properly set sub field values. - Re-runs validation on any named
FormulateForms whensetLocaleis called to change the language of the messages. - Outputs the
nameattribute onFormulateForm(useful for Netlify users). - Fixes a bug that sometimes caused the
v-modelvalue to be used as an initial state over thevalueprop. - Fixes a bug that prevents validation from re-running if the rules are changed dynamically.
- Allows users to now override the
aria-describedbyattribute if necessary.
- Fixes an issue where
Community Update 📣
- There's a new official Vue Formulate Discord server (opens new window) for community questions, idea sharing, and more.
# v.2.4.5 - October 4, 2020
New features 🎉:
- Adds support for Serbian 🇷🇸 and Thai 🇹🇭.
- Adds a new slotProp
componentto allow custom props to be passed to custom inputs.
Bug Fixes 🐛
- Fixes bug that caused
fileinputs with hydrated values to not remove their files from the model when removed. - Fixes a
z-indexbug with hover states onimagetype inputs. - Fixes an issue that allowed multiple uploads of a
filetype when triggered by thesubmitbutton.
- Fixes bug that caused
# v.2.4.4 - September 21, 2020
New Features 🎉
- Adds support for Chinese 🇨🇳, Lithuanian 🇱🇹, Norwegian 🇳🇴, and Swedish 🇸🇪.
- Adds support for a
remove-labelprop ongroupinputs to support i18n language for the remove button. - Adds support for ARIA live regions on error messages
- Adds stylistic support for the
sizeattribute on amultipleselect input. - Adds a
$formulate.setLocalemethod to easily change the active locale manually. - Adds a
keep-model-dataprop toFormulateFormandFormulateInputto allow you to keep an input's model data even after it has been removed. - Adds attributes (
attrs) to the context object that is passed to class functions.
Bug Fixes 🐛
- Fixes styling issues for
selecttype withmultipleattribute. - Fixes an issue that could cause a select type with the
multipleattribute to incorrectly select the first item in the list. - Fixes a styling issue in the snow theme that caused select lists items to appear grey when used with placeholders.
- Fixed an issue that prevented the
filetype from removing files from the model after they had been uploaded on the same page session. - Fixes stylistic alignment of progress bar and file name on
filetype. - Fixes issue that caused incorrect id generation when using array syntax on inputs that accept
optionslikecheckboxinputs. - Fixes compatibility with IE11 for the
grouptype which previously used aSymbolinternally and now uses unique strings. - Fixes an issue that prevented an input's
context.modelfrom being accessible in some scoped slots. - Fixed the
classattribute in schemas to support Vue's special handling of classes (opens new window). - Fixed an issue that caused mutations to schemas to sometimes (incorrectly) re-use DOM nodes causing model cross contamination.
- Fixes styling issues for
# v2.4.3 - July 11, 2020
- Adds support for Czech language 🇨🇿.
- Event listeners applied to
<FormulateInput>are now forwarded to their internal input element. selectinputs that have no model data and no placeholder now auto-select the first value.- Adds a
minimumprop to the input typegroup. - Improves model reactivity for
<FormulateForm>andgrouptypes. - Fixes a bug that prevented
groupinputs from accessinggetFormValuesandformValuesin custom validation rules. - Fixes a bug in the
datevalidation rule that incorrectly parsed some dates ending in zero. - Fixes a bug that prevented models being initially set to
Number 0.
# v2.4.2 - July 1, 2020
- Adds new
optionalvalidation rule that allows allows fields to only run validation if they have a value. - Fixes a bug where
context.hasValuewasfalsewhen forms seeded aNumber 0to a<FormulateInput>. - Fixes a bug where
<FormulateInput>emitted the@inputevent before the form model was updated. - Fixed a bug where an empty string was parsed as a validation rule.
# v2.4.1 - June 22, 2020
- Adds support for Polish language 🇵🇱.
- Updates Korean translation removing generic particles.
# v2.4.0 - June 17, 2020
Vue Formulate 2.4.0 is another significant update with some much-anticipated
features:
- Full class customization 🎨
- Includes a robust system for customizing classes on every DOM element.
- Customize classes based on the state of an input (ex
hasValue). - Allows for easy customization globally or inline, making it compatible with utility frameworks like tailwind css (opens new window).
- Adds a robust schema for form generation 🤖
- Supports any external components
- Supports HTML elements
- Supports element nesting
- Adds support for programmatic form submission using named forms.
- Adds support for custom
slotProps, top-level props that can be passed into your custom slot components.
# v2.3.8 - June 9, 2020
- Fixes a bug that could cause two identical
@inputevents to be fired from aFormulateInput.
# v2.3.7 - June 7, 2020
- Adds support for Hebrew language 🇮🇱.
# v2.3.6 - June 4, 2020
- Fixes a bug that caused
formValuesin custom validation messages to be corrupted.
# v2.3.5 - June 4, 2020
- Adds automatic dependency tracking to validation rules that access other form values.
Example: A validation rule that ensures Field C is equal to the sum of field Field A and Field B.
The above validation rule would sum values of A and B and compare equality to C. Previously this worked when editing C, but if you updated A or B without touching C it would not re-run the validation on C. This resulted in bug-like behavior in validation rules like confirm. This version ensures the dependencies of the rule are automatically tracked and validation is re-triggered on any dependent fields.
# v2.3.4 - June 2, 2020
- Adds
rootEmitto the context object to allow custom inputs to trigger events. - Adds
data-has-valueattribute to root wrapper when inputs have values. - Adds
hasValueattribute to the context object. - Fixes a css bug causing
boxinputs to have their internal box visible on super wide screens. - Adds polish diacritic characters to
alphaandalphanumericrules.
# v2.3.3 - May 20, 2020
- Adds support for Spanish language 🇨🇺.
# v2.3.2 - May 20, 2020
- Adds support for Russian language 🇷🇺.
# v2.3.1 — May 18, 2020
- Fixes an issue that caused labels to occasionally disconnect from their
boxinput when used in SSR in conjunction with agroupinput.
# v2.3.0 — May 18, 2020
Vue Formulate 2.3.0 is a significant update that re-structures several internal
APIs and provides a slew of new features 🎉. There should be no breaking changes
with 2.2.x.
- Adds new input type
group!- Structure groups of data in you form model.
- Validate a set of fields as a single rule.
- Repeat groups of fields.
- Improves accessibility by including
aria-describedbyattribute on inputs when help text is supplied. - Adds new named form methods
reset,resetValidation,setValues. - Adds support for stopping validation rules when they fail.
- The new
bailrule will stop validation if any rules fail after it. - You can now apply a modifier
^to any rule name^requiredto stop validation if that specific rule fails.
- The new
- The
matchesrule now supports regular expressions when using string validation syntax (some caveats). - Fixes a bug where fields removed from a form did not take their data with them.
- Adds a new
error-behaviortypesubmitto only show errors when a form is submitted. - Adds extensive support for slots.
- Adds
label,help,default,element, anderrorsslots to every input type. - Adds the ability to override the default "slot components" for all available slots to make global changes.
- Adds
- Adds new
@validationand@error-visibilityevents to inputs. - Adds new
@validationevent to forms. - Adds Korean language 🇰🇷.
- Updates
vue-test-utilsto version 1, updating all deprecated tests methods.
# v2.2.13 - May 4, 2020
- Small fix for sliders on Mozilla (Firefox) browsers.
# v2.2.12 - May 4, 2020
- Allows
nameattribute to be passed through to internal input element. - Adds support for deterministic auto-generated ids for better SSR hydration.
# v2.2.11 - April 29, 2020
- Bumps
@braid/vue-formulate-i18nto 1.5.0 which adds Dutch support.
# v2.2.10 - April 29, 2020
- Removes node 11 as engine in
package.json(should not have ever been there).
# v2.2.9 - April 28, 2020
- Fixes an issue that caused inputs to remain in the form even when they were removed (via
v-if).
# v2.2.8 - April 13, 2020
- Fixes a bug with
selectandboxwhenoptionsprop is an empty array. - Adds the form name as a second argument to the error handler.
# v2.2.7 - April 6, 2020
- Bumps
@braid/vue-formulate-i18nadding Arabic support.
# v2.2.6 - March 27, 2020
- Bumps
@braid/vue-formulate-i18nto 1.3.3 which fixes somedevDependenciesthat were independencies.
# v2.2.5 - March 20, 2020
- Adds basic support for IE11.
Note
While the core features of Vue Formulate now work on IE11, the default snow theme still needs a bit of work on more complex components like files.
# v2.2.4 - March 18, 2020
- Adds support for third argument on
betweenvalidation rule withlengthandvalueas supported options.
# v2.2.3 - March 16, 2020
- Adds support for Italian locale.
- Fixes a small bug (opens new window) with image previews on the
imagetype.
# v2.2.2 - March 11, 2020
- Adds support for Japanese locale.
- Fixes French locale to include translations of all validation rules.
# v2.2.1 - March 9, 2020
- Fixes styling issues with file uploads and long filenames.
- Adds support for Portuguese locale
# v2.2.0 - March 7, 2020
- Adds a suite of tooling for form errors and back end error handling.
- Improves the i18n architecture so contributors can add languages without adding to the package size.
- Added support for startsWith and endsWith field validation.
- Fixed a bug that caused validation rules to not be displayed on blur for the box classification.
# v2.1.1 - March 1, 2020
- Patches incorrect class name on
inputclassifications.
# v2.1.0 - March 1, 2020
- Patched issue that caused
FormulateFormto not properly hydrate aboxclassification when used with:options. - Patched an issue that caused
radiotypes to have an initial value when they should have been empty if used with:options. - Fixed uploader handling when implemented with
Axios. - Added support for displaying initial values on on
fileclassifications. - Fixed "required" validation rule to failure when
fileupload occurred and then the file removed.
# v2.0.4 - February 29, 2020
- Patched
FormSubmission.jsto properly return upload results in submission payloads. - Exposed new
valuesprop toFormulateForm, an unbound way to set initial values.
# v2.0.3 - February 28, 2020
- Patched
maxvalidation rule message to output less than or equal to message. - Re-factored rollup build for minified browser version (formulate.min.js)