For achieving this you will have to cheat SharePoint OOB forms using jQuery (or javascript).
- Add the fields in your list and mark them non-mendatory.
- Update the NewForm.aspx to include a jQuery script to hide the non-mandatory fields. .
- Update the EditForm.aspx page to include another jQuery script that will check your field values and have custom logic for making the fields as mandatory.
Some References: