<select> required not working

You have to add required and value attributes

<select required="true" name="unit">
<option disabled selected value="">-- Select One --</option>
<option>Square Feet</option>
<option>Square Yards</option>
<option>Square Meters</option>
<option>Marla</option>
<option>Kanal</option>

First of all, replace

 <option value=" ">--Select Category--</option>

with

 <option value="">--Select Category--</option>

And then, as w3c says, ... "The required attribute is a boolean attribute. When specified, the element is required."

 <select name="category" required class="form-control">
     <option value="">--Select Category--</option>
     <option value="asd">asd</option>
 </select>

Also here you can find same example.

And here you can try the code.

Required is working. The fact is that " " is a value and "" is not.


Try to remove space value in your select category option

<select name="category" required="required" class="form-control">
    <option value="">--Select Category--</option>
    <option value="asd">asd</option>
</select> code here