On 2013 CSR and the OnPreRender function is one, and maybe even the best way of skinning this cat.
You will have to read the whole list and then not display the Form but a message.
But you can do without CSR and make SharePoint do half the work for you.
A quick and easy ductape patch from the olden days is to hide the NewForm contents.
- On the NewForm.aspx page add a ListView WebPart, make it list all your items
change the WebPart Layouts Properties Zone-Index to 1 to make it display below the NewForm
Add another WebPart, use a Content Editor WebPart with the contents:
<SCRIPT>
SP.SOD.executeFunc('sp.js', null, function(){//execute after pageload
var items = document.getElementsByClassName('ms-itmhover');//all displayed listitems
if (items.length > 10) {//maximum number of items
var form = document.getElementsByClassName('ms-formtable')[0];//new form
while (form.tagName !== 'DIV') {//go up to the enclosing DIV
form = form.parentNode;
}
form.innerHTML = '<h1>Numbers of records has exceeded the permitted limit: '+items.length+'</h1>';
} else {//optional: hide the View with all the items
var itemlist=items[0];//first item
while (itemlist.tagName !== 'DIV') {//go up to enclosing DIV
itemlist = itemlist.parentNode;
}
itemlist.style.display='none';
}
});
</SCRIPT>
Tip: place the javascript in a separate file and link the Content Editor Web Part to it.. makes it easier to edit... you still have to include the < script> tag!!

Another alternative is:
iJS