Multiple custom forms for a SharePoint list

Unfortunately, there is no "secure" method. Access at the field level is not something you can limit.

That said, you can create alternative forms and simply show / hide links from these forms using audience targeting.

The idea is to configure multiple forms (for example, NewForm1.aspx, NewForm2.aspx, and so on). Then, you hide all "default" options to create a new element whenever you can (javascript may be involved in some cases).

Next, you want to configure manual links using Webparts components whose audience targeting is set to the respective users / groups with access to each form.

Link 1, target users a, b, c, points to NewForm1.aspx

Link 2, targeting users of e, g, points to NewForm2.aspx

etc.

Start editing:

To add these links, use the content editor webparts or the script editor webparts. In the Webpart, simply add an anchor tag like this. Form 1. Give it a style if you are familiar.

Newform1.aspx can be added by opening the site / list in SharePoint Designer. Or you could probably use the view of Windows Explorer in IE to copy-paste a newform.aspx into the Forms folder of the list. I recommend however SPD.

Finish the change

Again, this is not secure. If user A "establishes deep links" with NewForm2.aspx, he will still be able to access it. Or, if they modify the list with the help of CSOM (javascript), they can set the properties you do not want because they have "edit" rights on the list it -even. No other security setting prevents them from hitting specific fields. To really achieve this, you have to divide your form into several different lists, but this leads on a slippery slope and full of regret.

Another secure option would be to code a solution hosted by a provider that uses high authorization and restrict publishing access to the list through the provider-hosted application only.

I hope this helps you!