UNPKG

forms

Version:

An easy way to create, parse, and validate forms

270 lines (241 loc) 11.8 kB
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