Using GFAPI::submit_form() to add entries

It works just like a standard form submission so it will validate the fields and if a field is required and a value wasn’t supplied it will return a validation error.

You can add a custom logging statement to check the $result:

GFCommon::log_debug( __METHOD__ . '(): result => ' . print_r( $result, true ) );

For choice based fields you need to pass the value of the selected choice.

The multi select field is a little different, it expects an array containing the values of the selected choices.