---
schema_version: "1"
id: 565311f8864f43168c4d14849d69fb90314370df781dc4c53107367f77bc7747
title: Standard Controllers
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-pages-developers-guide/guides/pages/controller-std/pages-controller-std.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 7b4f74aa1a7ba4b80e1eae6eb1e58ce71ad5c0cc65f13859b11eae8cf81410d3
products:
  - Visualforce Developer Guide
  - Platform Developer Content
---

# Standard Controllers

A Visualforce controller is a set of instructions that specify what happens when a user interacts with the components specified in associated Visualforce markup, such as when a user clicks a button or link. Controllers also provide access to the data that should be displayed in a page, and can modify component behavior.

The Lightning platform provides a number of standard controllers that contain the same functionality and logic that are used for standard Salesforce pages. For example, if you use the standard Accounts controller, clicking a **Save** button in a Visualforce page results in the same behavior as clicking **Save** on a standard Account edit page.

A standard controller exists for every Salesforce object that can be queried using the Lightning Platform API.

-   **[Associating a Standard Controller with a Visualforce Page](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std-associate.md)**  

-   **[Accessing Data with a Standard Controller](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std-access-data.md)**  

-   **[Using Standard Controller Actions](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std-actions.md)**  

-   **[Validation Rules and Standard Controllers](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std-validation-rules.md)**  

-   **[Styling Pages that Use Standard Controllers](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std-styling.md)**  

-   **[Checking for Object Accessibility](https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-controller-std-checking-accessibility.md)**  


    If a user has insufficient privileges to view an object, any Visualforce page that uses a controller to render that object is inaccessible. To avoid this error, ensure that your Visualforce components only render if a user has access to the object associated with the controller.


