> For the complete documentation index, see [llms.txt](https://docs.norrnext.com/norrcompetition/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.norrnext.com/norrcompetition/customisation/events/entry-form.md).

# Entry Form

### onAppformDisplay

**Description**\
This event is triggered in `CompetitionViewAppform::display` (site).

```php
public function onAppformDisplay($context, $item)
{
    // Do something
}
```

**Arguments**\
`$context` - the context of the event, ‘com\_competition.appform’.\
`$item` - the appform object.

### onAppformBeforeFieldsAjaxDisplay

**Description**\
This event is triggered in `CompetitionControllerAppform::ajaxGetCustomFields` (site).

```php
public function onAppformBeforeFieldsAjaxDisplay($context, &$fields, $competition)
{
    // Do something
}
```

**Arguments**\
`$context` - the context of the event, ‘com\_competition.appform’.\
`&$fields` - the fields array.\
`$item` - the competition object.

### onAppformBeforeSave

### onAppformAfterSave

**Description**\
These events are triggered in `CompetitionModelAppform::save` (site) and in `CompetitionModelParticipant::saveAppform` (admin). If the plugin returns `false` for `onAppformBeforeSave` event then the application form/entry is not being saved to the database and transaction is rolled back.

\`\`\`php public function onAppformBeforeSave($context, $table, $isNew) { // Do something return true; } \`\`\`

**Arguments**\
`$context` - the context of the event: ‘com\_competition.appform’ or ‘com\_competition.participant’.\
`$table` - a reference to CompetitionTableAppform object.\
`$isNew` - true for new application form, false otherwise.

### onAppformBeforeSaveTransactionCommit

### onAppformAfterSaveTransactionCommit

**Description**\
These plugins are triggered in `CompetitionModelAppform::save` (site). If the plugin returns `false` for `onAppformBeforeSaveTransactionCommit` event then the entry form is not being saved and transaction is rolled back.

Please note that `onAppformAfterSave` event is triggered inside the transaction that can be rolled back. To make sure that all the data is saved use the `*AfterSaveTransactionCommit` event.

```php
public function onAppformBeforeSaveTransactionCommit($context, $data, $isNew)
{
    // Abort save
    return false;
}
```

**Arguments**\
`$context` - the context of the event, ‘com\_competition.appform’.\
`$data` - an array of validated application form data.\
`$isNew` - true for new entry form, false otherwise.
