FieldStatus plugin

Track the field status, and allow to perform an action when a field status is changed

Usage

The following piece of code is the starting point to use the FieldStatus plugin:
<html>
<head>
<link rel="stylesheet" href="/vendors/@form-validation/umd/styles/index.min.css" />
</head>
<body>
<form id="demoForm" method="POST">...</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.35.3/es6-shim.min.js"></script>
<script src="/vendors/@form-validation/umd/bundle/popular.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function(e) {
FormValidation.formValidation(
document.getElementById('demoForm'),
{
fields: {
...
},
plugins: {
fieldStatus: new FormValidation.plugins.FieldStatus({
onStatusChanged: function(areFieldsValid) {
// areFieldsValid is true if all fields are valid
}
}),
...
},
}
);
});
</script>
</body>
</html>
The sample code above assumes that the FormValidation files are placed inside the vendors directory. You might need to change the path depending on where you place them on the server.

Using the npm packages

If you are using a bundler such as Webpack, Rollup, Parcel or Vite, etc., to bundle your application, then it's recommended to use the FormValidation NPM packages.
  • Install the packages:
$ npm install @form-validation/bundle
$ npm install @form-validation/plugin-field-status
  • Import and use the FieldStatus plugin:
import { formValidation } from '@form-validation/bundle/popular';
import { FieldStatus } from '@form-validation/plugin-field-status';
formValidation(
document.getElementById('demoForm'),
{
fields: {
...
},
plugins: {
fieldStatus: new FieldStatus({
...
}),
...
},
}
);

See also

Changelog

v2.4.0
v2.0.0
  • Add the npm package
v1.6.0
  • Fixed an issue that the plugin doesn't work with ignored fields
  • The getStatues() method is renamed to getStatuses().
v1.5.0
  • First release. It means that the Excluded plugin requires FormValidation v1.5.0 or newer