So this answer can get closed, and for better visibility of Nikhil's great comment, this isn't an issue with Bootstrap or Modals. It is simply a problem with the way the Safari browser deals with the required
attribute in HTML5
From caniuse.com/#feat=form-validation:
Partial support in Safari refers to lack of notice when form with required fields is attempted to be submitted
Here's a Javascript polyfill for the required attribute in Safari:
<!-- language: lang-js -->
//Required attribute fallback
$('#formTemplate').submit(function() {
if (!attributeSupported("required") || ($.browser.safari)) {
//If required attribute is not supported or browser is Safari (Safari thinks that it has this attribute, but it does not work), then check all fields that has required attribute
$("#formTemplate [required]").each(function(index) {
if (!$(this).val()) {
//If at least one required value is empty, then ask to fill all required fields.
alert("Please fill all required fields.");
return false;
}
});
}
return false; //This is a test form and I'm not going to submit it
});