Versatile Form Validation And AJAX Submit Plugin - jQuery VaSe
| File Size: | 20 KB |
|---|---|
| Views Total: | 5454 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
VaSe is a versatile form manipulation plugin for jQuery that validates the form fields and send the valid form data to the server using AJAX post.
How to use it:
1. Insert jQuery JavaScript library and the jQuery VaSe plugin's script into the html page.
<script src="/path/to/cdn/jquery.min.js"></script> <script src="vase.js"></script>
2. Add validators to your HTML form using HTML data attributes as follows:
- data-vase-type: validation type (form, name, submitm, statys, or agreement)
- data-vase-field-type: field type (alpha, name, email, phone)
<form method="post" data-vase-type="form">
<input id="fld_name" type="text" name="fld_name" required="required" data-vase='{"field_type": "field", "field_data_type": "name", "wrong_input_text": "Incorrect name format"}' />
<input id="fld_email" type="email" name="fld_email" required="required" data-vase='{"field_type": "field", "wrong_input_text": "Incorrect E-mail format"}' />
<input id="fld_phone" type="tel" name="fld_phone" required="required" data-vase='{"field_type": "field", "wrong_input_text": "Incorrect phone number format"}' />
<input id="agreement_1" type="checkbox" name="agreement_1" value="1" required="required" data-vase='{"field_type": "agreement", "wrong_input_text": "Must be checked"}' />
</form>
3. Initialize the form validatior on the html form.
$('[data-vase-type="form"]').VaSe();
4. Customize the form validation rules.
$('[data-vase-type="form"]').VaSe({
input: {
fields: [
/*
{
obj: null,
label: null,
type: 'tel',
data_field_type: 'phone', //possible types: phone, name, email. Used for regex_table
max_length: 20,
required: true
},
*/
],
agreements: [
/*
{
obj: null,
type: 'checkbox',
required: true,
checked: true,
}
*/
],
regex_table: {
'alpha': /^$/,
'phone': /(\(?(\+|00)?48\)?([ -]?))?(\d{3}[ -]?\d{3}[ -]?\d{3})|([ -]?\d{2}[ -]?\d{3}[ -]?\d{2}[ -]?\d{2})/,
'email': /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
'name': /^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšśžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŚŽ∂ð ,.'-]+$/
},
//dictionary is used to exchange input names into values from the dictionary on API request
data_dictionary: {} //'sc_fld_telephone': 'phone'
},
});
5. More configuration options.
$('[data-vase-type="form"]').VaSe({
api: {
url: 'test',
custom: [
{name: 'api_key', value: ''},
],
param: {
success: {name: 'result', value: 'success'},
message: '',
},
},
//data
data: {
form_method: "post",
send_headers: true,
},
//status
status: {
ajax_processing: false,
response_from_api_visible: true,
},
//content - text
text_vars: {
wrong_input_text: "Wrong input",
status_success: "Form sent successfuly",
status_sending: "Sending form...",
status_error: "Server encountered an error",
},
//form info
novalidate: true,
});
6. Callback functions.
$('[data-vase-type="form"]').VaSe({
callbacks: {
onSend: {
success: {
function: null,
this: this,
parameters: null,
},
error: {
function: null,
this: this,
parameters: null,
}
}
}
});
Changelog:
2024-02-17
- Check if a callback exists before calling it
2023-06-17
- Fix onValidate callback call
2019-05-29
- JS update
2019-04-08
- JS update
2019-01-18
- JS update
2018-07-08
- reference issue update
2018-06-11
- added string method calling
2018-03-23
- vase update onSend:before callback and js cleanup
2018-03-21
- Bugfixed.
2018-03-06
- update has--content check, now fires on init (if input has value from the beginning)
2018-02-23
- Small fix to validation on input
This awesome jQuery plugin is developed by Falkan3. For more Advanced Usages, please check the demo page or visit the official website.











