Hi Ankit, here is how you can prevent the form submission completely without using any external DB....
This approach will require that you are using eloqua Web Sata Lookup (WDL) to pre-population the form.
As WDL looks at contact records only, you need to make sure that you are using one of the unused contact fields as a hidden field to pass the specific value.
When user registers for first time, you populate this hidden field with whatever value you have defined.
On the form page, you will always load this hidden field first to check if it is blank or not.
If field is populated then your script will show a message saying you have already registered.
If field is not populated then user will see the form.
Please note there may be slight delay on the page while you are checking if hidden field is populated or not. But you can handle the user experience it by showing a message like ...Please wait while we are checking your details etc...
This approach also assumes that user will go to the form using the link from an email with pre-pop parameters. You can have additional functionality to handle users who are not coming from email link and without pre-pop parameters.
Hope this helps.
Regards,
Mandar