Logo
Keen fully integrates FormValidation, the best Premium From Validation Library for JavaScript. Zero dependencies!
For more info please visit FormValidation Home

Basic Validation


        <form class="form" id="kt_form_1">
         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Email *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <input type="text" class="form-control" name="email" placeholder="Enter your email"/>
           <span class="form-text text-muted">We\ll never share your email with anyone else.</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">URL *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="input-group">
            <div class="input-group-prepend">
             <span class="input-group-text">
              <i class="flaticon2-website"></i>
             </span>
            </div>
            <input type="text" class="form-control" name="url" placeholder="Enter your url"/>
           </div>
           <span class="form-text text-muted">Please enter your website URL.</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Digits</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="input-group">
            <div class="input-group-prepend">
             <span class="input-group-text"><i class="flaticon2-browser"></i></span>
            </div>
            <input type="text" class="form-control" name="digits" placeholder="Enter digits"/>
           </div>
           <span class="form-text text-muted">Please enter only digits</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Credit Card</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="input-group">
            <div class="input-group-prepend">
             <span class="input-group-text" ><i class="flaticon-price-tag"></i></span>
            </div>
            <input type="text" class="form-control" name="creditcard" placeholder="Enter card number"/>
           </div>
           <span class="form-text text-muted">Please enter your credit card number</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">US Phone</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="input-group">
            <div class="input-group-prepend">
             <span class="input-group-text" ><i class="flaticon2-phone"></i></span>
            </div>
            <input type="text" class="form-control" name="phone" placeholder="Enter phone"/>
           </div>
           <span class="form-text text-muted">Please enter your US phone number</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Option *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <select class="form-control" name="option">
            <option value="">Select</option>
            <option>1</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
            <option>5</option>
           </select>
           <span class="form-text text-muted">Please select an option.</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Options *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <select class="form-control" name="options" multiple size="7">
            <option>Option 1</option>
            <option>Option 2</option>
            <option>Option 3</option>
            <option>Option 4</option>
            <option>Option 5</option>
            <option>Option 6</option>
            <option>Option 7</option>
           </select>
           <span class="form-text text-muted">Please select at least 2 or maximum 5 options</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Memo *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <textarea class="form-control" name="memo" placeholder="Enter a menu" rows="3"></textarea>
           <span class="form-text text-muted">Please enter a menu within text length range 50 and 100.</span>
          </div>
         </div>

         <div class="separator separator-dashed my-10"></div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Checkbox *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="form-check checkbox-inline">
            <label class="checkbox checkbox-outline">
             <input type="checkbox" name="checkbox"/>
             <span></span>
            </label>
           </div>
           <span class="form-text text-muted">Please tick the checkbox</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Checkboxes *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="form-check checkbox-list">
            <label class="checkbox checkbox-outline">
             <input type="checkbox" name="checkboxes"/>
             <span></span>
             Option 1
            </label>
            <label class="checkbox checkbox-outline">
             <input type="checkbox" name="checkboxes"/>
             <span></span>
             Option 2
            </label>
            <label class="checkbox checkbox-outline">
             <input type="checkbox" name="checkboxes"/>
             <span></span>
             Option 3
            </label>
           </div>
           <span class="form-text text-muted">Please select at lease 1 and maximum 2 options</span>
          </div>
         </div>

         <div class="form-group row">
          <label class="col-form-label text-right col-lg-3 col-sm-12">Radios *</label>
          <div class="col-lg-9 col-md-9 col-sm-12">
           <div class="form-check radio-inline">
            <label class="radio radio-outline">
             <input type="checkbox" name="radios"/>
             <span></span>
             Option 1
            </label>
            <label class="radio radio-outline">
             <input type="checkbox" name="radios"/>
             <span></span>
             Option 2
            </label>
            <label class="radio radio-outline">
             <input type="radio" name="radios"/>
             <span></span>
             Option 3
            </label>
           </div>
           <span class="form-text text-muted">Please select an option</span>
          </div>
         </div>

         <div class="row">
          <div class="col-lg-9 ml-lg-auto">
           <button type="submit" class="btn btn-primary font-weight-bold mr-2">Validate</button>
           <button type="reset" class="btn btn-light-primary font-weight-bold">Cancel</button>
          </div>
         </div>
        </form>
        

        FormValidation.formValidation(
         document.getElementById('kt_form_1'),
         {
          fields: {
           email: {
            validators: {
             notEmpty: {
              message: 'Email is required'
             },
             emailAddress: {
              message: 'The value is not a valid email address'
             }
            }
           },

           url: {
            validators: {
             notEmpty: {
              message: 'Website URL is required'
             },
             uri: {
              message: 'The website address is not valid'
             }
            }
           },

           digits: {
            validators: {
             notEmpty: {
              message: 'Digits is required'
             },
             digits: {
              message: 'The velue is not a valid digits'
             }
            }
           },

           creditcard: {
            validators: {
             notEmpty: {
              message: 'Credit card number is required'
             },
             creditCard: {
              message: 'The credit card number is not valid'
             }
            }
           },

           phone: {
            validators: {
             notEmpty: {
              message: 'US phone number is required'
             },
             phone: {
              country: 'US',
              message: 'The value is not a valid US phone number'
             }
            }
           },

           option: {
            validators: {
             notEmpty: {
              message: 'Please select an option'
             }
            }
           },

           options: {
            validators: {
             choice: {
              min:2,
              max:5,
              message: 'Please select at least 2 and maximum 5 options'
             }
            }
           },

           memo: {
            validators: {
             notEmpty: {
              message: 'Please enter memo text'
             },
             stringLength: {
              min:50,
              max:100,
              message: 'Please enter a menu within text length range 50 and 100'
             }
            }
           },

           checkbox: {
            validators: {
             choice: {
              min:1,
              message: 'Please kindly check this'
             }
            }
           },

           checkboxes: {
            validators: {
             choice: {
              min:2,
              max:5,
              message: 'Please check at least 1 and maximum 2 options'
             }
            }
           },

           radios: {
            validators: {
             choice: {
              min:1,
              message: 'Please kindly check this'
             }
            }
           },
          },

          plugins: {
           trigger: new FormValidation.plugins.Trigger(),
           // Bootstrap Framework Integration
           bootstrap: new FormValidation.plugins.Bootstrap(),
           // Validate fields when clicking the Submit button
           submitButton: new FormValidation.plugins.SubmitButton(),
                    // Submit the form when all fields are valid
           defaultSubmit: new FormValidation.plugins.DefaultSubmit(),
          }
         }
        );
        
We'll never share your email with anyone else.
Please enter your website URL.
Please enter only digits
Please enter your credit card number
Please enter your US phone number
Please select an option.
Please select at least 2 or maximum 5 options
Please enter a menu within text length range 50 and 100.
Please tick the checkbox
Please select at lease 1 and maximum 2 options
Please select an option

Advanced Validation


        <form class="form" id="kt_form_2">
         <div class="mb-3">
          <h3 class="font-size-lg text-dark-75 font-weight-bold mb-10">
           Billing Information:
          </h3>
          <div class="mb-2">
           <div class="form-group row">
            <div class="col-lg-12">
             <label>* Cardholder Name:</label>
             <input type="text" name="billing_card_name" class="form-control" placeholder="" value=""/>
            </div>
           </div>
           <div class="form-group row">
            <div class="col-lg-12">
             <label>* Card Number:</label>
             <input type="text" name="billing_card_number" class="form-control" placeholder="" value=""/>
            </div>
           </div>
           <div class="form-group row">
            <div class="col-lg-4">
             <label>* Exp Month:</label>
             <select class="form-control" name="billing_card_exp_month">
              <option value="">Select</option>
              <option value="01">01</option>
              <option value="02">02</option>
              <option value="03">03</option>
              <option value="04">04</option>
              <option value="05">05</option>
              <option value="06">06</option>
              <option value="07">07</option>
              <option value="08">08</option>
              <option value="09">09</option>
              <option value="10">10</option>
              <option value="11">11</option>
              <option value="12">12</option>
             </select>
            </div>
            <div class="col-lg-4">
             <label>* Exp Year:</label>
             <select class="form-control" name="billing_card_exp_year">
              <option value="">Select</option>
              <option value="2018">2018</option>
              <option value="2019">2019</option>
              <option value="2020">2020</option>
              <option value="2021">2021</option>
              <option value="2022">2022</option>
              <option value="2023">2023</option>
              <option value="2024">2024</option>
             </select>
            </div>
            <div class="col-lg-4">
             <label>* CVV:</label>
             <input type="number" class="form-control" name="billing_card_cvv" placeholder="" value=""/>
            </div>
           </div>
          </div>
         </div>

         <div class="separator separator-dashed my-10"></div>

         <div class="mb-3">
          <h3 class="font-size-lg text-dark-75 font-weight-bold mb-10">
           Billing Address
           <i data-toggle="tooltip" data-width="auto" class="mb-3__help" title="If different than the corresponding address"></i>
          </h3>
          <div class="mb-2">
           <div class="form-group row">
            <div class="col-lg-12">
             <label>* Address 1:</label>
             <input type="text" name="billing_address_1" class="form-control" placeholder="" value=""/>
            </div>
           </div>
           <div class="form-group row">
            <div class="col-lg-12">
             <label>Address 2:</label>
             <input type="text" name="billing_address_2" class="form-control" placeholder="" value=""/>
            </div>
           </div>
           <div class="form-group row">
            <div class="col-lg-5">
             <label>* City:</label>
             <input type="text" class="form-control" name="billing_city" placeholder="" value=""/>
            </div>
            <div class="col-lg-5">
             <label>* State:</label>
             <input type="text" class="form-control" name="billing_state" placeholder="" value=""/>
            </div>
            <div class="col-lg-2">
             <label>* ZIP:</label>
             <input type="text" class="form-control" name="billing_zip" placeholder="" value=""/>
            </div>
           </div>
          </div>
         </div>

         <div class="separator separator-dashed my-10"></div>

         <div class="mb-3">
          <h3 class="font-size-lg text-dark-75 font-weight-bold mb-10">
           Delivery Type:
          </h3>
          <div class="mb-2">
           <div class="form-group">
            <div class="row">
             <div class="col-lg-6">
              <label class="option">
               <span class="option-control">
                <span class="radio radio-outline">
                 <input type="radio" name="billing_delivery" value=""/>
                 <span></span>
                </span>
               </span>
               <span class="option-label">
                <span class="option-head">
                 <span class="option-title">
                  Standard Delivery
                 </span>
                 <span class="option-focus">
                  Free
                 </span>
                </span>
                <span class="option-body">
                 Estimated 14-20 Day Shipping
                 (Duties and taxes may be due
                 upon delivery)
                </span>
               </span>
              </label>
             </div>
             <div class="col-lg-6">
              <label class="option">
               <span class="option-control">
                <span class="radio radio-outline">
                 <input type="radio" name="billing_delivery" value=""/>
                 <span></span>
                </span>
               </span>
               <span class="option-label">
                <span class="option-head">
                 <span class="option-title">
                  Fast Delivery
                 </span>
                 <span class="option-focus">
                  $&nbsp;8.00
                 </span>
                </span>
                <span class="option-body">
                 Estimated 2-5 Day Shipping
                 (Duties and taxes may be due
                 upon delivery)
                </span>
               </span>
              </label>
             </div>
            </div>
            <div class="form-check"></div>
            <div class="form-text text-muted">
            </div>
           </div>
          </div>
         </div>

         <div class="mb-3">
          <h3 class="font-size-lg text-dark-75 font-weight-bold mb-10">
           Select Package:
          </h3>
          <div class="mb-2">
           <div class="form-group">
            <div class="row">
             <div class="col-lg-6">
              <label class="option">
               <span class="option-control">
                <span class="radio">
                 <input type="radio" name="package" value=""/>
                 <span></span>
                </span>
               </span>
               <span class="option-label">
                <span class="option-head">
                 <span class="option-title">
                  Standard Package
                 </span>
                 <span class="option-focus text-primary">
                  Free
                 </span>
                </span>
                <span class="option-body">
                 Estimated 14-20 Day Shipping
                 (Duties and taxes may be due
                 upon delivery)
                </span>
               </span>
              </label>
             </div>
             <div class="col-lg-6">
              <label class="option">
               <span class="option-control">
                <span class="radio">
                 <input type="radio" name="package" value=""/>
                 <span></span>
                </span>
               </span>
               <span class="option-label">
                <span class="option-head">
                 <span class="option-title">
                  Premium Package
                 </span>
                 <span class="option-focus text-primary">
                  $&nbsp;8.00
                 </span>
                </span>
                <span class="option-body">
                 Estimated 2-5 Day Shipping
                 (Duties and taxes may be due
                 upon delivery)
                </span>
               </span>
              </label>
             </div>
            </div>
            <div class="form-check"></div>
            <div class="form-text text-muted">
            </div>
           </div>
          </div>
         </div>
        </form>
        

        FormValidation.formValidation(
         document.getElementById('kt_form_2'),
         {
          fields: {
           billing_card_name: {
            validators: {
             notEmpty: {
              message: 'Card Holder Name is required'
             }
            }
           },
           billing_card_number: {
            validators: {
             notEmpty: {
              message: 'Credit card number is required'
             },
             creditCard: {
              message: 'The credit card number is not valid'
             }
            }
           },
           billing_card_exp_month: {
            validators: {
             notEmpty: {
              message: 'Expiry Month is required'
             }
            }
           },
           billing_card_exp_year: {
            validators: {
             notEmpty: {
              message: 'Expiry Year is required'
             }
            }
           },
           billing_card_cvv: {
            validators: {
             notEmpty: {
              message: 'CVV is required'
             },
             digits: {
              message: 'The CVV velue is not a valid digits'
             }
            }
           },

           billing_address_1: {
            validators: {
             notEmpty: {
              message: 'Address 1 is required'
             }
            }
           },
           billing_city: {
            validators: {
             notEmpty: {
              message: 'City 1 is required'
             }
            }
           },
           billing_state: {
            validators: {
             notEmpty: {
              message: 'State 1 is required'
             }
            }
           },
           billing_zip: {
            validators: {
             notEmpty: {
              message: 'Zip Code is required'
             },
             zipCode: {
              country: 'US',
              message: 'The Zip Code value is invalid'
             }
            }
           },

           billing_delivery: {
            validators: {
             choice: {
              min:1,
              message: 'Please kindly select delivery type'
             }
            }
           },
           package: {
            validators: {
             choice: {
              min:1,
              message: 'Please kindly select package type'
             }
            }
           }
          },

          plugins: {
           trigger: new FormValidation.plugins.Trigger(),
           // Validate fields when clicking the Submit button
           submitButton: new FormValidation.plugins.SubmitButton(),
           // Submit the form when all fields are valid
           defaultSubmit: new FormValidation.plugins.DefaultSubmit(),
           // Bootstrap Framework Integration
           bootstrap: new FormValidation.plugins.Bootstrap({
            eleInvalidClass: '',
            eleValidClass: '',
           })
          }
         }
        );
        

Billing Information:

Billing Address

Delivery Type:

Select Package:

Quick Actions finance & reports

User Profile 15 messages

Recent Notifications

Important Notice

Lorem Ipsum is simply dummy text of the printing and industry.

System Update

There are many variations of passages of Lorem Ipsum available.

Server Maintenance

Contrary to popular belief, Lorem Ipsum is not simply random text.

DB Migration

If you are going to use a passage of Lorem Ipsum, you need.

System Messages
09:30 AM

To start a blog, think of a topic about and first brainstorm ways to write details

2:45 PM

To start a blog, think of a topic about and first brainstorm ways to write details

3:12 PM

To start a blog, think of a topic about and first brainstorm ways to write details

7:05 PM

To start a blog, think of a topic about and first brainstorm ways to write details

Notifications
Pic
Marcus Smart UI/UX, Art Director
+65%
AH
Andreas Hawks Python Developer
+23%
SC
Sarah Connor HTML, CSS. jQuery
-34%
Pic
Amanda Harden UI/UX, Art Director
+72%
SR
Sean Robbins UI/UX, Art Director
+65%
JT
Jason Tatum ASP.NET Developer
+139%

Privacy Settings:

After you log in, you will be asked for additional information to confirm your identity.

Security Settings:

After you log in, you will be asked for additional information to confirm your identity. For extra security, this requires you to confirm your email. Learn more.

Select A Demo

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9