Mini plugin

Integrate with the mini.css framework
The plugin supports mini.css v3.0.1.

Usage

The following piece of code is the starting point to validate the form made in mini.css:
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/mini.css/3.0.1/mini-default.min.css" />
<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 src="/vendors/@form-validation/umd/plugin-mini/index.min.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function(e) {
FormValidation.formValidation(
document.getElementById('demoForm'),
{
fields: {
...
},
plugins: {
mini: new FormValidation.plugins.Mini(),
...
},
}
);
});
</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.
The next sections list out some examples of various forms made with mini.css.

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-mini
  • Import and use the Mini plugin:
import { formValidation } from '@form-validation/bundle/popular';
import { Mini } from '@form-validation/plugin-mini';
formValidation(
document.getElementById('demoForm'),
{
fields: {
...
},
plugins: {
mini: new Mini({
...
}),
...
},
}
);

Horizontal form

Horizontal form

Stacked form

You need to add the fv-stacked-form class to the form element such as:
<form class="fv-stacked-form">
<!-- The fields go here -->
...
</form>
Stacked form

Multiple fields on the same row

In order to add the correct class for error message and the field element when it is a valid or invalid, we need to specify the CSS selector of the field container.
By default, the Mini plugin will look for the .row element. In the following example, the firstName and lastName fields are placed inside .col-sm-4 containers. Meanwhile, the city, state and zipcode fields can be found inside the .col-sm-3 containers.
The rowSelector option will be used to help the plugin determine the field containers as following:
mini: new FormValidation.plugins.Mini({
rowSelector: function(field, ele) {
// field is the field name
// ele is the field element
switch (field) {
case 'firstName':
case 'lastName':
return '.col-sm-4';
case 'city':
case 'state':
case 'zipcode':
return '.col-sm-3';
default:
return '.row';
}
}
}),
Multiple fields on the same row

Changelog

v2.4.0
v2.0.0
  • Add the npm package
v1.2.0
  • First release. It means that the Mini plugin requires FormValidation v1.2.0 or newer.