Skip to main content

Tel Field

The tel field provides a telephone number input optimized for phone number entry. It's perfect for contact forms, user profiles, and any scenario requiring phone number input.

Namespace

JobMetric\CustomField\CustomFields\Tel\Tel

Overview

The tel field renders as an HTML <input type="tel"> element. While it looks like a text field, it's optimized for telephone number input and can trigger numeric keyboards on mobile devices.

When to Use

Use the tel field when you need:

  • Phone number input - Contact forms, user profiles
  • Telephone entry - Any scenario requiring phone numbers
  • Mobile optimization - Mobile-friendly phone input
  • Contact information - Contact details forms
  • Form phone input - Any form requiring phone numbers

Example scenarios:

  • Contact forms
  • User registration (phone number)
  • Profile editing (phone number)
  • Business contact forms
  • Support request forms

Builder Method

CustomFieldBuilder::tel()

Available Methods

Common Attributes

  • name(string $name, ?string $uniq = null) - Set field name
  • id(?string $id) - Set field ID
  • class(?string $class) - Set CSS class
  • placeholder(?string $placeholder) - Set placeholder text
  • value(mixed $value) - Set field value

Common Properties

  • required() - Make field required
  • disabled() - Disable the field
  • readonly() - Make field readonly
  • autofocus() - Auto-focus on page load

Field Labels

  • label(?string $label) - Set field label
  • info(?string $info) - Set help/info text

Validation

  • validation(array|string $rules) - Set validation rules

Basic Example

use JobMetric\CustomField\Facades\CustomFieldBuilder;

$tel = CustomFieldBuilder::tel()
->name('phone')
->label('Phone')
->info('Enter your phone number')
->required()
->placeholder('+1 234 567 8900')
->build();

$result = $tel->toHtml();
echo $result['body'];

Advanced Examples

With Validation

$tel = CustomFieldBuilder::tel()
->name('phone')
->label('Phone Number')
->required()
->validation(['required', 'regex:/^\+?[1-9]\d{1,14}$/'])
->placeholder('+1234567890')
->info('Enter phone number with country code')
->build();

International Format

$tel = CustomFieldBuilder::tel()
->name('phone')
->label('Phone Number')
->placeholder('+1 (234) 567-8900')
->required()
->info('Include country code (e.g., +1 for US)')
->build();

With Pattern

$tel = CustomFieldBuilder::tel()
->name('phone')
->label('Phone')
->placeholder('(123) 456-7890')
->pattern('[0-9]{3}-[0-9]{3}-[0-9]{4}')
->required()
->build();

Multiple Phone Numbers

$mobile = CustomFieldBuilder::tel()
->name('mobile')
->label('Mobile Phone')
->required()
->build();

$home = CustomFieldBuilder::tel()
->name('home_phone')
->label('Home Phone')
->build();

Rendering

HTML Output

$result = $tel->toHtml();

// $result contains:
// [
// 'body' => '<input type="tel" ...>',
// 'scripts' => [],
// 'styles' => []
// ]

echo $result['body'];

Array Output

$array = $tel->toArray();

// Returns complete field configuration

HTML Output

The tel field renders as:

<input 
type="tel"
name="phone"
id="phone"
class="form-control"
placeholder="+1 234 567 8900"
required
/>

Mobile Optimization

On mobile devices, the tel field automatically triggers the numeric keyboard, making it easier for users to enter phone numbers.

Phone Number Formats

Common phone number formats:

  • International: +1 234 567 8900
  • US Format: (234) 567-8900
  • Simple: 1234567890
  • With spaces: 123 456 7890