MediaWiki  master
HTMLIntField.php
Go to the documentation of this file.
1 <?php
2 
6 class HTMLIntField extends HTMLFloatField {
7  public function validate( $value, $alldata ) {
8  $p = parent::validate( $value, $alldata );
9 
10  if ( $p !== true ) {
11  return $p;
12  }
13 
14  # https://www.w3.org/TR/html5/infrastructure.html#signed-integers
15  # with the addition that a leading '+' sign is ok. Note that leading zeros
16  # are fine, and will be left in the input, which is useful for things like
17  # phone numbers when you know that they are integers (the HTML5 type=tel
18  # input does not require its value to be numeric). If you want a tidier
19  # value to, eg, save in the DB, clean it up with intval().
20  if ( !preg_match( '/^((\+|\-)?\d+)?$/', trim( $value ) ) ) {
21  return $this->msg( 'htmlform-int-invalid' );
22  }
23 
24  return true;
25  }
26 }
HTMLFloatField
A field that will contain a numeric value.
Definition: HTMLFloatField.php:6
HTMLIntField
A field that must contain a number.
Definition: HTMLIntField.php:6
HTMLIntField\validate
validate( $value, $alldata)
Override this function to add specific validation checks on the field input.
Definition: HTMLIntField.php:7
HTMLFormField\msg
msg( $key,... $params)
Get a translated interface message.
Definition: HTMLFormField.php:83