示例#1
0
 /**
  * Method to test if two values are not equal. To use this rule, the form
  * XML needs a validate attribute of equals and a field attribute
  * that is equal to the field to test against.
  *
  * @param   SimpleXMLElement  $element  The SimpleXMLElement object representing the <field /> tag for the form field object.
  * @param   mixed             $value    The form field value to validate.
  * @param   string            $group    The field name group control value. This acts as as an array container for the field.
  *                                      For example if the field has name="foo" and the group value is set to "bar" then the
  *                                      full field name would end up being "bar[foo]".
  * @param   JRegistry         $input    An optional JRegistry object with the entire data set to validate against the entire form.
  * @param   JForm             $form     The form object for which the field is being tested.
  *
  * @return  boolean  True if the value is valid, false otherwise.
  *
  * @throws  InvalidArgumentException
  * @throws  UnexpectedValueException
  */
 public function test(SimpleXMLElement $element, $value, $group = null, JRegistry $input = null, JForm $form = null)
 {
     // If signed integer.
     if (isset($element['signed']) && RHelperString::toBool($element['signed'])) {
         $pattern = '/^[+\\-]\\d+$/';
     } else {
         $pattern = '/^\\d+$/';
     }
     return 1 === preg_match($pattern, $value);
 }
示例#2
0
 /**
  * Get the field options as a js string.
  *
  * @return  string  The options.
  */
 public function getOptions()
 {
     // Prepare the params.
     $template = $this->element['template'] ? $this->element['template'] : 'dropdown';
     $minuteStep = isset($this->element['minute_step']) && !empty($this->element['minute_step']) ? (int) $this->element['minute_step'] : 15;
     $secondStep = isset($this->element['second_step']) && !empty($this->element['second_step']) ? (int) $this->element['second_step'] : 15;
     $showSeconds = RHelperString::toBool($this->element['seconds']) ? 'true' : 'false';
     $showMeridian = RHelperString::toBool($this->element['meridian']) ? 'true' : 'false';
     $showInputs = RHelperString::toBool($this->element['inputs']) ? 'true' : 'false';
     $disableFocus = RHelperString::toBool($this->element['disable_focus']) ? 'true' : 'false';
     $modalBackdrop = RHelperString::toBool($this->element['backdrop']) ? 'true' : 'false';
     // If we don't have a value.
     if (empty($this->value)) {
         $defaultTime = $this->element['default'] ? $this->element['default'] : 'current';
     } else {
         $defaultTime = 'value';
     }
     $options = new JRegistry();
     $options->loadArray(array('template' => $template, 'minuteStep' => $minuteStep, 'showSeconds' => $showSeconds, 'secondStep' => $secondStep, 'defaultTime' => $defaultTime, 'showMeridian' => $showMeridian, 'showInputs' => $showInputs, 'disableFocus' => $disableFocus, 'modalBackdrop' => $modalBackdrop));
     return $options->toString();
 }