class Url in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony/validator/Constraints/Url.php \Symfony\Component\Validator\Constraints\Url
 - 8 core/lib/Drupal/Core/Url.php \Drupal\Core\Url
 - 8 core/lib/Drupal/Core/Render/Element/Url.php \Drupal\Core\Render\Element\Url
 - 8 core/modules/views/src/Plugin/views/field/Url.php \Drupal\views\Plugin\views\field\Url
 
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Render/Element/Url.php \Drupal\Core\Render\Element\Url
 
Provides a form element for input of a URL.
Properties:
- #default_value: A valid URL string.
 
Usage example:
$form['homepage'] = array(
  '#type' => 'url',
  '#title' => t('Home Page'),
  '#size' => 30,
  ...
);
Plugin annotation
@FormElement("url");
  Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, StringTranslationTrait
- class \Drupal\Core\Render\Element\RenderElement implements ElementInterface
- class \Drupal\Core\Render\Element\FormElement implements FormElementInterface
- class \Drupal\Core\Render\Element\Url
 
 
 - class \Drupal\Core\Render\Element\FormElement implements FormElementInterface
 
 - class \Drupal\Core\Render\Element\RenderElement implements ElementInterface
 
 - class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, StringTranslationTrait
 
Expanded class hierarchy of Url
See also
\Drupal\Core\Render\Element\Textfield
9 #type uses of Url
- CommentForm::form in core/
modules/ comment/ src/ CommentForm.php  - Gets the actual form array to be built.
 - FormTest::testRequiredFields in core/
modules/ system/ src/ Tests/ Form/ FormTest.php  - Check several empty values for required forms elements.
 - FormTestDisabledElementsForm::buildForm in core/
modules/ system/ tests/ modules/ form_test/ src/ Form/ FormTestDisabledElementsForm.php  - Form constructor.
 - FormTestPatternForm::buildForm in core/
modules/ system/ tests/ modules/ form_test/ src/ Form/ FormTestPatternForm.php  - Form constructor.
 - FormTestUrlForm::buildForm in core/
modules/ system/ tests/ modules/ form_test/ src/ Form/ FormTestUrlForm.php  - Form constructor.
 
File
- core/
lib/ Drupal/ Core/ Render/ Element/ Url.php, line 34  - Contains \Drupal\Core\Render\Element\Url.
 
Namespace
Drupal\Core\Render\ElementView source
class Url extends FormElement {
  /**
   * {@inheritdoc}
   */
  public function getInfo() {
    $class = get_class($this);
    return array(
      '#input' => TRUE,
      '#size' => 60,
      '#maxlength' => 255,
      '#autocomplete_route_name' => FALSE,
      '#process' => array(
        array(
          $class,
          'processAutocomplete',
        ),
        array(
          $class,
          'processAjaxForm',
        ),
        array(
          $class,
          'processPattern',
        ),
      ),
      '#element_validate' => array(
        array(
          $class,
          'validateUrl',
        ),
      ),
      '#pre_render' => array(
        array(
          $class,
          'preRenderUrl',
        ),
      ),
      '#theme' => 'input__url',
      '#theme_wrappers' => array(
        'form_element',
      ),
    );
  }
  /**
   * Form element validation handler for #type 'url'.
   *
   * Note that #maxlength and #required is validated by _form_validate() already.
   */
  public static function validateUrl(&$element, FormStateInterface $form_state, &$complete_form) {
    $value = trim($element['#value']);
    $form_state
      ->setValueForElement($element, $value);
    if ($value !== '' && !UrlHelper::isValid($value, TRUE)) {
      $form_state
        ->setError($element, t('The URL %url is not valid.', array(
        '%url' => $value,
      )));
    }
  }
  /**
   * Prepares a #type 'url' render element for input.html.twig.
   *
   * @param array $element
   *   An associative array containing the properties of the element.
   *   Properties used: #title, #value, #description, #size, #maxlength,
   *   #placeholder, #required, #attributes.
   *
   * @return array
   *   The $element with prepared variables ready for input.html.twig.
   */
  public static function preRenderUrl($element) {
    $element['#attributes']['type'] = 'url';
    Element::setAttributes($element, array(
      'id',
      'name',
      'value',
      'size',
      'maxlength',
      'placeholder',
    ));
    static::setAttributes($element, array(
      'form-url',
    ));
    return $element;
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            DependencySerializationTrait:: | 
                  protected | property | An array of service IDs keyed by property name used for serialization. | |
| 
            DependencySerializationTrait:: | 
                  public | function | 1 | |
| 
            DependencySerializationTrait:: | 
                  public | function | 2 | |
| 
            FormElement:: | 
                  public static | function | Adds autocomplete functionality to elements. | |
| 
            FormElement:: | 
                  public static | function | #process callback for #pattern form element property. | |
| 
            FormElement:: | 
                  public static | function | #element_validate callback for #pattern form element property. | |
| 
            FormElement:: | 
                  public static | function | 
            Determines how user input is mapped to an element's #value property. Overrides FormElementInterface:: | 
                  15 | 
| 
            PluginBase:: | 
                  protected | property | Configuration information passed into the plugin. | 2 | 
| 
            PluginBase:: | 
                  protected | property | The plugin implementation definition. | |
| 
            PluginBase:: | 
                  protected | property | The plugin_id. | |
| 
            PluginBase:: | 
                  constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| 
            PluginBase:: | 
                  public | function | 
            Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | 
            Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | 
            Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | 
            Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | Constructs a Drupal\Component\Plugin\PluginBase object. | 69 | 
| 
            RenderElement:: | 
                  public static | function | Adds Ajax information about an element to communicate with JavaScript. | |
| 
            RenderElement:: | 
                  public static | function | Adds members of this group as actual elements for rendering. | |
| 
            RenderElement:: | 
                  public static | function | Form element processing handler for the #ajax form property. | |
| 
            RenderElement:: | 
                  public static | function | Arranges elements into groups. | |
| 
            RenderElement:: | 
                  public static | function | 
            Sets a form element's class attribute. Overrides ElementInterface:: | 
                  |
| 
            StringTranslationTrait:: | 
                  protected | property | The string translation service. | |
| 
            StringTranslationTrait:: | 
                  protected | function | Formats a string containing a count of items. | |
| 
            StringTranslationTrait:: | 
                  protected | function | Returns the number of plurals supported by a given language. | |
| 
            StringTranslationTrait:: | 
                  protected | function | Gets the string translation service. | |
| 
            StringTranslationTrait:: | 
                  public | function | Sets the string translation service to use. | 2 | 
| 
            StringTranslationTrait:: | 
                  protected | function | Translates a string to the current language or to a given language. | |
| 
            Url:: | 
                  public | function | 
            Returns the element properties for this element. Overrides ElementInterface:: | 
                  |
| 
            Url:: | 
                  public static | function | Prepares a #type 'url' render element for input.html.twig. | |
| 
            Url:: | 
                  public static | function | Form element validation handler for #type 'url'. |