- [New] implement nested and ordered choices (#191)
- [New] [Fix] ensure that all content in
tag
is properly escaped - [Fix] use
is.array
instead ofArray.isArray
, to continue supporting ES3 - [Fix] ES3: use
object-keys
instead ofObject.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)
- [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
- [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
- [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
inqs.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 sharedeslint
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)
- 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 latestnode
- Add
npm run eslint
- Update
tape
,jscs
,is
,formidable
,qs
,object.assign
,covert
,async
- Fix validation error bug with nested fields. (#153)
- Update
formidable
,jscs
- 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
- v1.0.0 - it’s time.
- Update CHANGELOG
- Updating
testling
,qs
,jscs
,tape
- Cleaning up URLs in README
- Adding license and downloads badges.
- Adding a single "license" field to package.json
- Updating
is
,jscs
,qs
,jscs
- Updating
formidable
,qs
,jscs
- Updating
qs
- Updating
is
,covert
,tape
- Clean up README (#139); use SVG badges instead of PNG
- Updating
qs
andtape
- Add option to disable automatic error rendering (#138)
- Add
hideError
option to disable automatic error rendering (#138)
- Fix/add support for empty value attributes (#137)
- Fix inability to disable ID attribute (#128)
- Add support for callback chaining (#129)
- Properly compare using string values in select, multipleSelect, multipleCheckbox, and multipleRadio
- Add "placeholder" to textarea elements
- Add fieldsetClasses, legendClasses, and labelClasses
- 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
- Updating dependencies
- Adding digits and integer validators
- 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 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 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.
- 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. Relates to #105. - Merge pull request #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.
- 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 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
- Merge pull request #98 from Flaise/master Added alphanumeric validator for convenience.
- Added alphanumeric validator for convenience.
- Updating deps
- Updating dev deps
- Merge pull request #92 from shinnn/master Replace "!!!" with "doctype"
- Replace "!!!" with "doctype"
- Merge pull request #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 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.
- 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.
- v0.3.0
- Merge pull request #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, fixes #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
- v0.2.3
- Adding testling browsers.
- style corrections
- Adding Travis CI info to the README. Closes #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 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