JSFiddle - React, Tailwind, and code Playground
HTML
<select class="check" name="first">
<option value="">Select</option>
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="second">
<option value="">Select</option>
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select class="check" name="third">
<option value="">Select</option>
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<select name="other">
<option value="">Select</option>
<option value="some" required="true">Some required</option>
<option value="other">Other Value</option>
<option value="few" required="true">Few required</option>
</select>
<button class="check-select">Check!</button>
JavaScript
$(document).on('click', '.check-select', function () {
var error = $(".check").find("option:selected").map(collectErrors);
for (var i = 0; i < error.length; i++) {
alert(error[i]);
}
});
function collectErrors() {
if ($(this).attr("required") == undefined) {
var $parent = $(this).parent();
return "Please select one of the folowing:" + findRequired($parent) + " For the select box " + $parent.attr("name");
}
}
function findRequired($parent) {
return $parent.find("option[required=true]").map(function () {
return $(this).text();
}).toArray().join()
}