motorcb
motorcb

Reputation: 1051

Defining a `required` field in Bootstrap

How do I define text field as required (with red border) in Twitter Bootstrap 3?

required="required" doesn't work...

<form role="form">
  <div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
  </div>
  <div class="form-group">
    <label for="exampleInputFile">File input</label>
    <input type="file" id="exampleInputFile">
    <p class="help-block">Example block-level help text here.</p>
  </div>
  <div class="checkbox">
    <label>
      <input type="checkbox"> Check me out
    </label>
  </div>
  <button type="submit" class="btn btn-default">Submit</button>
</form>

Upvotes: 67

Views: 373954

Answers (7)

Pradeep pai
Pradeep pai

Reputation: 11

Use 'needs-validation' apart from form-group, it will work.

Upvotes: 0

Carol Skelly
Carol Skelly

Reputation: 362510

Update 2018

Since the original answer HTML5 validation is now supported in all modern browsers. Now the easiest way to make a field required is simply using the required attibute.

<input type="email" class="form-control" id="exampleInputEmail1" required>

or in compliant HTML5:

<input type="email" class="form-control" id="exampleInputEmail1" required="true">

Read more on Bootstrap 4 validation


In Bootstrap 3, you can apply a "validation state" class to the parent element: http://getbootstrap.com/css/#forms-control-validation

For example has-error will show a red border around the input. However, this will have no impact on the actual validation of the field. You'd need to add some additional client (javascript) or server logic to make the field required.

Demo: http://bootply.com/90564


Upvotes: 70

Jignesh Rawal
Jignesh Rawal

Reputation: 549

If wont work in case you have something like : novalidate="novalidate" attached to your form.

Upvotes: 1

Vishal Khadke
Vishal Khadke

Reputation: 77

Form validation can be enabled in markup via the data-api or via JavaScript. Automatically enable form validation by adding data-toggle="validator" to your form element.

<form role="form" data-toggle="validator">
   ...
</form>

Or activate validation via JavaScript:

$('#myForm').validator()

and you need to use required flag in input field

For more details Click Here

Upvotes: 5

vma
vma

Reputation: 1626

Try using required="true" in bootstrap 3

Upvotes: 87

Ali Qorbani
Ali Qorbani

Reputation: 1263

To make a field required, use required or required="true"

I think required="required" has been deprecated in version 3 of bootstrap.

Upvotes: 0

Fosnez
Fosnez

Reputation: 61

Check out native HTML5 form validation:

http://www.the-art-of-web.com/html/html5-form-validation/

Upvotes: 6

Related Questions