Hidden Field
The hidden field provides a hidden input element for storing data that should not be visible to users but needs to be submitted with the form. It's commonly used for tokens, IDs, and other server-side data.
Namespace
JobMetric\CustomField\CustomFields\Hidden\Hidden
Overview
The hidden field renders as an HTML <input type="hidden"> element. It's invisible to users but included in form submissions, making it perfect for CSRF tokens, record IDs, and other data that needs to be passed with the form.
When to Use
Use the hidden field when you need:
- CSRF tokens - Security tokens for form protection
- Record IDs - Model IDs for updates
- Session data - User session information
- State management - Form state or workflow data
- Server-side data - Any data that should be submitted but not visible
Example scenarios:
- CSRF token protection
- Edit forms (model ID)
- Multi-step forms (step tracking)
- Workflow state
- User ID in forms
Builder Method
CustomFieldBuilder::hidden()
Available Methods
Common Attributes
name(string $name, ?string $uniq = null)- Set field nameid(?string $id)- Set field ID (optional for hidden fields)value(mixed $value)- Set field value (required)
Field Labels
Hidden fields typically don't use labels or info text since they're not visible.
Basic Example
use JobMetric\CustomField\Facades\CustomFieldBuilder;
$hidden = CustomFieldBuilder::hidden()
->name('token')
->value('abc123')
->build();
$result = $hidden->toHtml();
echo $result['body'];
Advanced Examples
CSRF Token
$hidden = CustomFieldBuilder::hidden()
->name('_token')
->value(csrf_token())
->build();
Model ID for Updates
$hidden = CustomFieldBuilder::hidden()
->name('id')
->value($product->id)
->build();
Multi-Step Form State
$hidden = CustomFieldBuilder::hidden()
->name('step')
->value(2)
->build();
$hidden = CustomFieldBuilder::hidden()
->name('form_id')
->value($formId)
->build();
User ID
$hidden = CustomFieldBuilder::hidden()
->name('user_id')
->value(auth()->id())
->build();
Workflow State
$hidden = CustomFieldBuilder::hidden()
->name('status')
->value('draft')
->build();
Rendering
HTML Output
$result = $hidden->toHtml();
// $result contains:
// [
// 'body' => '<input type="hidden" ...>',
// 'scripts' => [],
// 'styles' => []
// ]
echo $result['body'];
Array Output
$array = $hidden->toArray();
// Returns complete field configuration
HTML Output
The hidden field renders as:
<input type="hidden" name="token" value="abc123" />
Security Considerations
- Never store sensitive data in hidden fields that users can modify
- Always validate hidden field values on the server
- Use CSRF tokens for form protection
- Don't rely on hidden fields for security
Related Documentation
- Field Attributes - All available attributes
- CustomFieldBuilder - Builder API reference