October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk3 min

How Do Bound Values and FormData Reach a Server Action?

Bound values come before a form’s FormData in a Next.js Server Action. Add useActionState’s state parameter first, and validate and authorize IDs on the server.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When you pass an extra value with action.bind(null, value), that value becomes the Server Action’s first argument. The form supplies FormData afterward, so declare the action as (value, formData)—not (formData, value). If useActionState is involved, include its state argument too.

What order do bound arguments and FormData go in?

Function.prototype.bind prepends bound arguments to the arguments supplied when the function is later called. For a form action, Next.js supplies the form’s FormData automatically. The bound value therefore comes first and the form data comes after it.

As an Amazon Associate I earn from qualifying purchases.

const updateUserWithId = updateUser.bind(null, userId)

async function updateUser(userId: string, formData: FormData) {
  'use server'
  // Validate and authorize before updating the user.
}

This follows the signature in the Next.js forms guide, last updated October 6, 2026. The form fields remain available through formData; binding an identifier does not replace or absorb the submitted fields.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How does useActionState change the signature?

useActionState adds the previous state as the action’s first parameter. When the action also has a bound value and receives form data, account for all three arguments in order: state, bound value, then FormData.

#1 Best Overall
Sale
HTML and CSS: Design and Build Websites
  • HTML CSS Design and Build Web Sites
  • Comes with secure packaging
  • It can be a gift option
const actionWithId = updateUser.bind(null, userId)

async function updateUser(
  previousState: State,
  userId: string,
  formData: FormData
) {
  'use server'
  // Validate, authorize, then perform the update.
}

The state parameter is documented in the forms guide. Check the specific wrapper’s documented contract and read its call site alongside the function declaration: an omitted state parameter can shift how later arguments are interpreted.

Should you use bind or a hidden input for an ID?

Choose based on whether the value should be an extra function argument or ordinary submitted form data. A hidden input places the value in the form’s FormData; its value is present in rendered HTML and is not encoded. Binding passes the value as an argument before FormData. Next.js documents that binding works with Server and Client Components and supports progressive enhancement.

Rank #2
Sale
Web Design with HTML, CSS, JavaScript and jQuery Set
  • Brand: Wiley
  • Set of 2 Volumes
  • A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Consideration Bound argument Hidden input
Where the value arrives As a function argument before FormData. As a field in FormData.
Visibility in rendered HTML The documented comparison is that a hidden input’s value appears in rendered HTML and is not encoded; the guide does not state an equivalent visibility claim for bound values. The value appears in rendered HTML and is not encoded.
Signature effect Adds a parameter before FormData; state from useActionState, if used, is first. Read the value from FormData; it does not add a separate function parameter.

These approaches affect how data is passed, not whether it can be trusted.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How should you secure a Server Action that receives an ID?

A bound ID or hidden field is input, not proof of permission. Next.js warns that Server Functions can be reached through direct POST requests, so do not rely on a particular UI or form being the only caller. Authenticate the user, authorize access to the referenced resource, and validate submitted data inside the server function before making a sensitive change. Return only the data the UI needs. See the Next.js documentation on mutating data and the use server directive, both last updated October 6, 2026.

Quick Recap

SaleBestseller No. 1
HTML and CSS: Design and Build Websites
HTML and CSS: Design and Build Websites
HTML CSS Design and Build Web Sites; Comes with secure packaging; It can be a gift option
$14.94
SaleBestseller No. 2
Web Design with HTML, CSS, JavaScript and jQuery Set
Web Design with HTML, CSS, JavaScript and jQuery Set
Brand: Wiley; Set of 2 Volumes
$35.05
SaleBestseller No. 3
SaleBestseller No. 5
JavaScript and jQuery: Interactive Front-End Web Development
JavaScript and jQuery: Interactive Front-End Web Development
JavaScript Jquery; Introduces core programming concepts in JavaScript and jQuery; Uses clear descriptions, inspiring examples, and easy-to-follow diagrams
$22.75
Best Value
Sale
JavaScript and jQuery: Interactive Front-End Web Development
  • JavaScript Jquery
  • Introduces core programming concepts in JavaScript and jQuery
  • Uses clear descriptions, inspiring examples, and easy-to-follow diagrams

How do you debug a mismatched action signature?

  1. Start with the declaration. Write down each parameter the function expects.
  2. Account for wrapper state. If useActionState is used, include its state parameter first.
  3. List bound values. Each value passed to .bind(null, ...) precedes arguments supplied when the action runs.
  4. Put form data last. A form action receives its FormData from the form submission.
  5. Check the adapter contract. Confirm the wrapper’s documented signature rather than assuming every action setup has identical parameters.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.