I think the JavaScript solution would be the best and won't destroy the core files as well.
Apply the following changes modifying
templates/user_dataform.html file:
1) at the very top, paste
<script type="text/javascript" src="https://www.minibb.com/forums/templates/form.js"></script>
2) In the section between JavaScript tags <script></script> paste new function:
function submitForm(){
var ind = document.forms['regform'];
if(trimTxt(ind.elements['login'].value)=='' || trimTxt(ind.elements['email'].value)=='' || (ind.elements['action'].value=='register' && (trimTxt(ind.elements['passwd'].value)=='' || trimTxt(ind.elements['passwd2'].value)=='') ) || trimTxt(ind.elements['from'].value)=='') { alert('Please, fill out all mandatory fields!'); return; }
else ind.submit();
}
3) Right after the variable
{$warning} paste:
<noscript><br />JavaScript must be enabled to submit the profile!</noscript>
4) Replace the Submit button's code which says
<input type="submit" value="{$userTitle}" class="inputButton" /> to:
<script type="text/javascript">
<!--
document.write('<input type="button" name="subbut" value="{$userTitle}" class="inputButton" onClick="submitForm();" />');
//-->
</script>
Now edit bb_plugins.php file and at the top of this file somewhere paste
/* Check location field */
if( ($action=='editprefs' OR $action=='register') and (!isset($_POST['from']) or trim($_POST['from'])=='') ) die('');
Any other mandatory text field may be implemented the same way...