Skip to content

Integrate native HTML5 validation into custom styled ember-bootstrap forms.

License

Notifications You must be signed in to change notification settings

ember-bootstrap/ember-bootstrap-constraint-validations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ember-bootstrap-constraint-validations

CI

This addon integration with ember-bootstrap to support form validations based on the browser's native HTML5 constraint validation API. But instead of the browser's built-in validation UI, validation errors will be rendered using Bootstrap's Custom Styles. See the FormElement documentation for further details.

Compatibility

  • Ember Bootstrap v5 or above
  • Ember.js v3.24 or above
  • Ember CLI v3.24 or above
  • Node.js v12 or above

Installation

ember install ember-bootstrap-constraint-validations

Usage

Apply the HTML5 validation attributes as needed to your form controls. The form elements @controlType argument will already apply the correct type attribute for the rendered <input> element. But you can also add additional HTML5 attributes like required, by applying them as attributes to the form control. For this you must use the block form syntax of form elements, so you can apply them to the yielded form control (which basically represents the <input>), and not the parent element (a wrapper <div>):

<BsForm @model={{this.model}} as |form|>
  <form.element @label="Name" @property="name" as |el|>
    <el.control required minlength="3"/>
  </form.element>
  <form.element @controlType="email" @label="Email" @property="email" />
  <form.submitButton>Submit</form.submitButton>
</BsForm>

In this example we have defined a "Name" text field, which is required and has a minlength of 3, as well as an optional field of type email. When submitting this form, or when focussing out of a field, the appropriate Bootstrap validation markup will be rendered:

validated form

Note that the error messages are natively provided by the browser itself, given by the form element's validationMessage.

Contributing

See the Contributing guide for details.

License

This project is licensed under the MIT License.