# Form AJAX
| Customization | Reference |
|---|---|
| HTML selector | 🔧 [data-arts-component-name="FormAJAX"] |
| Component source | 📄 HTML/js/components/FormAJAX.js |
| Component source (gulp) | 📄 SOURCE/components/formAJAX/FormAJAX.js |
# Default Options
defaults: {
pristine: {
classTo: 'input-float', // class of the parent element where the error/success class is added
errorClass: 'input-float_invalid',
successClass: 'input-float_valid',
errorTextParent: 'input-float', // class of the parent element where error text element is appended
errorTextTag: 'span', // type of element to create for the error text
errorTextClass: 'input-float__error' // class of the error text element
}
}
# HTML Markup
<form
class="js-form-ajax"
action="mail.php"
method="POST"
novalidate="novalidate"
data-arts-component-name="FormAJAX"
data-message-success="Thanks for your message! We will reply to you as soon as possible."
data-message-error="Something went wrong :( Please contact me directly at <a href='mailto:asli@example.com'>asli@example.com</a>"
>
...
</form>
# Customization
# 1. Customizing success and error messages
In the component HTML markup, edit the [data-message-success] and [data-message-error] attributes.
<form
class="js-form-ajax"
action="mail.php"
method="POST"
novalidate="novalidate"
data-arts-component-name="FormAJAX"
data-message-success="Custom success message"
data-message-error="Custom error message"
>
...
</form>
# 2. Customizing validation error messages
In the component HTML markup, edit the [data-pristine-*] attributes of the input fields.
<form
class="js-form-ajax"
action="mail.php"
method="POST"
novalidate="novalidate"
data-arts-component-name="FormAJAX"
data-message-success="Thanks for your message! We will reply to you as soon as possible."
data-message-error="Something went wrong :( Please contact me directly at <a href='mailto:asli@example.com'>asli@example.com</a>"
>
...
<div class="row form__row">
<!-- input #1 -->
<div class="col-12 col-lg-6 form__col">
<label class="input-float">
<input
class="input-float__input"
type="text"
name="visitor_name"
required="required"
data-pristine-required-message="Please enter your name"
/>
<span class="input-float__label">Your Name</span>
</label>
</div>
<!-- - input #1 -->
<!-- input #2 -->
<div class="col-12 col-lg-6 form__col">
<label class="input-float">
<input
class="input-float__input"
type="email"
name="visitor_email"
required="required"
data-pristine-email-message="Please enter a correct email"
data-pristine-required-message="Please enter your email"
/>
<span class="input-float__label">Your Email</span>
</label>
</div>
<!-- - input #2 -->
</div>
<!-- input #3 -->
<div class="row form__row">
<div class="col form__col">
<label class="input-float">
<textarea
class="input-float__input input-float__input_textarea"
name="visitor_msg"
>
</textarea>
<span class="input-float__label">Your Message</span>
</label>
</div>
</div>
<!-- - input #3 -->
...
</form>
For more customization, please refer to the official documentation of the PristineJS (opens new window) library.
← Fixed Wall Google Map →