Why Customize a SharePoint Form?
SharePoint's default auto-generated form lays out every column in a single, generic column with no conditional logic, branding, or validation beyond basic required-field checks. Real business processes often need conditional fields, custom validation messages, or a layout that matches how the organization actually captures information, which is why teams turn to Power Apps customized forms or JSON column/view formatting.
Cricket analogy: The default auto-generated SharePoint form is like a generic team-sheet template used by every club in a local league — functional, but it doesn't reflect a specific franchise's branding or match-day process.
Power Apps Customized Forms
When a SharePoint form is customized in Power Apps, the generated canvas app includes a SharePointIntegration control whose OnSave, OnNew, and OnEdit properties correspond to the form's lifecycle. OnSave typically calls SubmitForm(SharePointForm1), which commits the DataCard values to the list only at that point — earlier edits in the session exist only in the app's local state until submit.
Cricket analogy: The SharePointIntegration control's OnSave property calling SubmitForm is like a scorer's official sign-off step that commits the innings totals to the record book only when triggered.
Column and View Formatting with JSON
JSON column and view formatting reskins how existing field values are displayed in list views, using a declarative schema of elements, styles, and conditional expressions — for example, coloring a 'Status' value red when it's 'Overdue'. It is purely presentational: it cannot add new fields, run validation, or write data back to the list, which is the key limitation compared to a Power Apps customized form.
Cricket analogy: JSON column formatting turning a 'Status' value green or red is like a scoreboard operator color-coding overs remaining based on required run rate, purely a display change with no effect on the underlying data.
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
"elmType": "div",
"txtContent": "@currentField",
"style": {
"padding": "4px 8px",
"border-radius": "4px",
"color": "white",
"background-color": "=if(@currentField == 'Overdue', '#d13438', if(@currentField == 'On Track', '#107c10', '#605e5c'))"
}
}Validation and Conditional Logic
In a Power Apps customized form, a DataCard's Required and Visible (DisplayMode) properties can be driven by formulas that reference other fields on the same form, letting a field become mandatory or appear only under specific conditions — for example, requiring a justification note only when a requested amount exceeds a threshold.
Cricket analogy: Setting a form field's Required property with a formula like DataCardValue.Text = 'DNB' is like a scorer refusing to close an innings entry unless the dismissal type is filled in for every batsman.
JSON column/view formatting and Power Apps customized forms solve different problems: JSON formatting only changes how existing data is displayed (colors, icons, layout) in list views and read-only form panels, while it cannot add new fields, run business logic, or write data back — for that, a Power Apps customized form (or an SPFx form extension) is required.
Replacing a list's default form with a Power Apps customized form can break attachments handling and certain built-in behaviors, like 'Edit in grid view' quick edit or content-type-specific default forms, unless explicitly reconfigured. Test the full CRUD lifecycle, including attachments and any content-type switching, before rolling a customized form out to production users.
- SharePoint list forms can be customized via Power Apps 'Customize forms', JSON column/view formatting, or an SPFx form extension.
- Power Apps customized forms use the SharePointIntegration control's OnSave/OnNew/OnEdit properties to drive SubmitForm/NewForm/EditForm.
- JSON column formatting changes only visual presentation; it cannot add fields, validate, or write data.
- Formulas on a Power Apps form's DataCard can set Required and Visible properties conditionally.
- Customizing a form can affect built-in behaviors like attachments and quick edit, requiring extra testing.
- InfoPath is retired; Power Apps is Microsoft's recommended path for rich custom forms.
- A well-designed custom form reduces data entry errors by guiding users with conditional, required fields.
Practice what you learned
1. What is the primary limitation of JSON column/view formatting compared to a Power Apps customized form?
2. Which control exposes OnSave, OnNew, and OnEdit properties when a SharePoint list form is customized with Power Apps?
3. What is the supported modern replacement for InfoPath forms in SharePoint?
4. What should be tested carefully after replacing a default list form with a Power Apps form?
Was this page helpful?
You May Also Like
Power Platform Integration
Power Apps, Power Automate, and Power BI connect to SharePoint lists and libraries as a shared low-code data source and business logic layer.
Workflows with Power Automate
Power Automate replaces SharePoint Designer workflows with cloud-based flows that automate approvals, notifications, and data processing triggered by SharePoint events.
SharePoint REST and Graph API
Two complementary APIs — the classic SharePoint REST API and the modern Microsoft Graph API — let developers read and write SharePoint data programmatically.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics