获得所有必需输入的最佳方式

Best way to get all required inputs

我有表格,其中几乎没有必填字段Example

    <div class="form-group">
            <label class="col-md-3 control-label" for="mpassword">Password<span class="required">                                       * </span></label>
            <div class="col-md-3">
                <input type="password" id="mpassword" name="mpassword" class="form-control" placeholder="Enter password"/> 
            </div> 
        </div>
        <div class="form-group">
            <label class="col-md-3 control-label" for="memail">Email <span class="required">* </span></label>
            <div class="col-md-3">
                <input type="email" id="memail" name="memail" class="form-control" placeholder="Enter email"/> 
            </div> 
        </div>
        <div class="form-group">
            <label class="col-md-3 control-label" for="mname">Full name<span class="required">* </span></label>
            <div class="col-md-3">
                <input type="text" id="mname" name="mname" class="form-control" placeholder="Enter name" value="MyName"/> 
            </div> 
        </div> 
       <div class="form-group">
            <label class="col-md-3 control-label" for="mname">Nick name</label>
            <div class="col-md-3">
                <input type="text" id="mname" name="mname" class="form-control" placeholder="Enter nickname"/> 
            </div> 
        </div> 

问题,我不知道获取所有必填字段的正确方法是什么,因为它们没有 required 属性或 class。只有标签有 required class,这意味着“此输入是必需的

只需定位标签,然后根据 for 属性

获取输入
$('label:has(.required)').map(function() {
    return $('#' + $(this).attr('for'));
});

请注意,其中两个表单元素具有相同的名称?

$('.required').next().find('input').each(function() {
  // handle elements
});