forms
Version:
An easy way to create, parse, and validate forms
270 lines (241 loc) • 11.8 kB
Markdown
1.3.2 / 2020-06-08
===================
* [Fix] `validators.email`: allowing comments, prevent catastrophic backtracking (#214)
* [Deps] update `array.prototype.every`, `array.prototype.some`, `async`, `formidable`, `qs`, `string.prototype.trim`
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `evalmd`, `tape`; add `aud`, `safe-publish-latest`
* [Tests] add test with only boolean fields (#205)
* [Tests] add more bizarre but valid email tests
* [Tests] improve error messages
* [Tests] `validators.email`: refactor tests, add some passing tests
* [Tests] use shared travis-ci configs
1.3.1 / 2019-05-03
===================
* [Fix] length validators should work with both strings and numbers (#204)
* [Fix] ES3: use `array.prototype.{some,every}` instead of `Array#{some,every}`
* [Fix] ES3: use `reduce` instead of `Array#reduce`
* [Deps] update `async`, `formidable`, `is`, `object-keys`, `object.assign`, `qs`, `reduce`
* [Dev Deps] update `tape`, `eslint`, `@ljharb/eslint-config`, `nsp`, `covert`
* [Dev Deps] remove `testling`, `jscs`
* [Tests] use `npx aud` instead of `nsp` or `npm audit` with hoops
* [Tests] up to `node` `v12.1`, `v11.14`, `v10.15`, `v9.11`, `v8.15`, `v7.10`, `v6.17`, `v4.9`; use `nvm install-latest-npm`; run coverage tests but allow failure, for now
1.3.0 / 2016-11-15
===================
* [New] implement nested and ordered choices (#191)
* [New] [Fix] ensure that all content in `tag` is properly escaped
* [Fix] use `is.array` instead of `Array.isArray`, to continue supporting ES3
* [Fix] ES3: use `object-keys` instead of `Object.keys`
* [Deps] update `is`, `async`, `qs`
* [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `nsp`, `tape`
* [Tests] up to `node` `v7.0`, `v6.9`, `v4.6`; improve test matrix
* [Tests] execute all tests in test directory (#190)
1.2.0 / 2016-08-25
===================
* [New] Add labelAfterField option when rendering (#183)
* [Deps] update `qs`, `async`, `object.assign`, `string.prototype.trim`
* [Dev Deps] update `tape`, `jscs`, `eslint`, `@ljharb/eslint-config`, `nsp`, `evalmd`
* [Tests] up to `node` `v6.4`, `v5.12`, `v4.5`
* [Tests] use `tape-dom` for browser tests
* [Tests] fix npm upgrades for older nodes
1.1.4 / 2015-09-22
===================
* [Deps] update `async`, `object.assign`, `string.prototype.trim`, `qs`, `is`
* [Dev Deps] update `tape`, `jscs`, `evalmd`, `eslint`, `@ljharb/eslint-config`, `nsp`
* [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG.
* [Tests] Add `evalmd` to verify that code example blocks in the README are correct.
* [Tests] up to `io.js` `v3.3`, `node` `v4.1`
1.1.3 / 2015-08-08
===================
* [Fix] Ensure that nested required fields, even when the nesting namespace is omitted, are still validated (#165)
* [Fix] Ensure `validatePastFirstError` setting propagates through to object fields
* [Fix] Disable `parseArrays` in `qs.parse`
* [Refactor] Use `string.prototype.trim` package instead of my copy-pasted code.
* [Deps] Update `async`, `qs`, `object.assign`
* [Dev Deps] Update `eslint`, `tape`; add my shared `eslint` config
* [Tests] Test up to `io.js` `v3.0`
* [Tests] Add `npm run security`
* [Docs] Update bootstrap example to avoid duplicate form-control classes (#163)
1.1.2 / 2015-05-30
===================
* Code cleanup: Avoid ES3 syntax errors, just in case.
* Code cleanup: Avoid reusing variables.
* Code cleanup: Remove or use unused variables.
* Code cleanup: Avoid reassigning function params, for performance
* Test up to `io.js` `v2.1`, and latest `node`
* Add `npm run eslint`
* Update `tape`, `jscs`, `is`, `formidable`, `qs`, `object.assign`, `covert`, `async`
1.1.1 / 2015-01-06
===================
* Fix validation error bug with nested fields. (#153)
* Update `formidable`, `jscs`
1.1.0 / 2014-12-16
===================
* Use label text instead of field name consistently in error messages
* Fix support of zero values in inputs (#147)
* Update `qs`, `is`, `object.assign`, `tape`, `covert`, `jscs`
1.0.0 / 2014-09-29
===================
* v1.0.0 - it’s time.
* Update CHANGELOG
0.10.0 / 2014-09-24
===================
* Updating `testling`, `qs`, `jscs`, `tape`
* Cleaning up URLs in README
* Adding license and downloads badges.
* Adding a single "license" field to package.json
0.9.6 / 2014-09-03
==================
* Updating `is`, `jscs`, `qs`, `jscs`
0.9.5 / 2014-08-29
==================
* Updating `formidable`, `qs`, `jscs`
0.9.4 / 2014-08-28
==================
* Updating `qs`
0.9.2 / 2014-08-25
==================
* Updating `is`, `covert`, `tape`
* Clean up README (#139); use SVG badges instead of PNG
0.9.1 / 2014-08-07
==================
* Updating `qs` and `tape`
0.9.0 / 2014-07-30
==================
* Add option to disable automatic error rendering (#138)
0.8.2 / 2014-07-30
==================
* Add `hideError` option to disable automatic error rendering (#138)
0.8.1 / 2014-07-24
==================
* Fix/add support for empty <option> value attributes (#137)
0.8.0 / 2014-07-23 (mispublished and unpublished)
==================
* Fix inability to disable ID attribute (#128)
* Add support for callback chaining (#129)
0.7.0 / 2014-05-20
==================
* Properly compare using string values in select, multipleSelect, multipleCheckbox, and multipleRadio
* Add "placeholder" to textarea elements
0.6.0 / 2014-05-03
==================
* Add fieldsetClasses, legendClasses, and labelClasses
0.5.0 / 2014-05-01
==================
* Added new form-level validatePastFirstErrorOption. When true, all fields will validate, instead of stopping at the first error.
* Internal refactoring for improved HTML tag generation
0.4.1 / 2014-04-24
==================
* Updating dependencies
* Adding digits and integer validators
0.4.0 / 2014-04-07
==================
* Using https URLs in package.json
* Updating async and tape.
* Using `is` to check for things
* Using better tape matchers, and `is` functions
* Merge pull request [#107](https://github.com/caolan/forms/issues/107) from timjrobinson/nested_fields_fix_fix
Fixed bug where .bind with incomplete data was removing fields from form.
* Fixed bug where if you bind data to a form fields that were missing from the data were being removed from the form.
* Adding `npm run coverage`
* Merge pull request [#106](https://github.com/caolan/forms/issues/106) from timjrobinson/nested_fields_fix
Fixed null object error when a nested form is submitted but one of the subsections is missing.
* Fixed null pointer error when a nested form is submitted but one of the subsections is missing.
* Adding another matchValue test.
* Fixing whitespace; a bit of cleanup.
* Add plan statements, and using the "t" convention inside tests.
* Adding a matchValue validator.
Relates to [#82](https://github.com/caolan/forms/issues/82).
* Removing the express example, primarily because it doesn’t work with express 3. Also, the dependency stuff is weird.
This should go in a separate repo rather than living inside `forms`.
Closes [#93](https://github.com/caolan/forms/issues/93). Relates to [#105](https://github.com/caolan/forms/issues/105).
* Merge pull request [#99](https://github.com/caolan/forms/issues/99) from Flaise/master
Made `%s` string formatting tokens optional in field validator error messages.
* Oops! Make sure we’re running all tests
* Made `%s` string formatting tokens optional in field validator error messages.
* Add number widget.
From [#83](https://github.com/caolan/forms/issues/83).
* Pass an enctype in the simple example
* Updating json-template.
Note: it can’t be installed from npm because the package.json is invalid.
* Merge pull request [#101](https://github.com/caolan/forms/issues/101) from caolan/use_tape_for_tests
Use tape for tests
* Converting tests over to tape instead of nodeunit.
* Using tape for tests instead.
* Adding "alphanumeric" to README, per [#98](https://github.com/caolan/forms/issues/98)
* Merge pull request [#98](https://github.com/caolan/forms/issues/98) from Flaise/master
Added alphanumeric validator for convenience.
* Added alphanumeric validator for convenience.
* Updating deps
* Updating dev deps
* Merge pull request [#92](https://github.com/caolan/forms/issues/92) from shinnn/master
Replace "!!!" with "doctype"
* Replace "!!!" with "doctype"
* Merge pull request [#91](https://github.com/caolan/forms/issues/91) from kukulili-labs/master
Add optional "tabindex"attribute to widgets
* Fix test
* Add optional "tabindex"attribute to widgets
* Updating browserify
* Remove node 0.6 workaround; test down to node 0.4
* Adding `is`
* Merge pull request [#89](https://github.com/caolan/forms/issues/89) from timjrobinson/label-text
Made label text for camel case or dash separated field names format nicely
* Updating dependencies
* Renaming variables.
* Made label text for camel case or dash separated field names format nicely.
* Make the complex example use POST and be multipart-encoded.
* Use formidable to handle multipart-encoded form data.
* HTML attributes should be double quoted.
* Pass the method into the example template.
* submit buttons are so much better than submit inputs.
* Test in node 0.11 too
* Unset strict SSL for node 0.6 in Travis-CI
* Rearranging badges
* Adding npm badge and version svg.
* Updating browserify.
* Merge branch "required_validator". Closes [#81](https://github.com/caolan/forms/issues/81).
* Use String() instead of the toString prototype method.
* When the "required" option is true, use the default "required" validator. Otherwise, use the passed-in validator.
* Adding a "required" validator.
* Upgrading browserify.
0.3.0 / 2013-09-16
==================
* v0.3.0
* Merge pull request [#80](https://github.com/caolan/forms/issues/80) from path/dynamic-widget-attributes
Add support for dynamic widget attributes
* Add support for dynamic widget attributes
Sometimes it is desirable to set widget attributes after the form is
created. This makes it possible and should be fully backwards
compatible.
* Adding dev dependency badge.
* Rearranging dependencies.
* s/\t/ /g
* Merge branch "nested_fields_merge" - merges [#77](https://github.com/caolan/forms/issues/77), fixes [#11](https://github.com/caolan/forms/issues/11)
* Using arguments.length to shift arguments.
* Adding spacing.
* Reverting this line.
* Bumping dev deps.
* Adding a trailing newline.
* Adding a nested example.
* Merge pull request [#77](https://github.com/caolan/forms/issues/77)
0.2.3 / 2013-08-25
==================
* v0.2.3
* Adding testling browsers.
* style corrections
* Adding Travis CI info to the README. Closes [#42](https://github.com/caolan/forms/issues/42).
* Fixing indentation.
* Fixing a syntax error.
* Reusing some common placeholder functions in these tests.
* Fixing a bug in my port of the String#trim shim, and cleaning it up a bit.
* Moving a misplaced semicolon.
* Moving this logic up into the closure.
* Combining var declarations.
* Removing arbitrary line breaks.
* Making sure "use strict" is always inside a function.
* Merge pull request [#78](https://github.com/caolan/forms/issues/78) from caolan/either_or
Adds "requiresFieldIfEmpty" validator
* Adding requiresFieldIfEmpty validator.
* If any field validator functions have a forceValidation property set, validate even when empty.
* take object literals as nested fields
* Adding ES5’s String#trim
* Removing an extra space
* compatibility