Specify read only fields for lightning:recordForm
You won't be able to make a field read only specifically while using lightning:recordForm
. It's either all fields or none which you could display as read only depending on the mode selected. The component operates based on the field level security, so if a field is not read only for a User, you cannot make one as read only on the component. Additionally there's not much support for client side validation on this component.
Your only option here as far as I can say is to utilize lightning:recordEditForm
.