support number fields with min/max
This commit is contained in:
parent
56fe32cad6
commit
d0f6befa7e
|
@ -455,6 +455,10 @@ class htmlInputField extends htmlElement {
|
||||||
protected $sameValueFieldID = null;
|
protected $sameValueFieldID = null;
|
||||||
/** marks the input field as auto trimmed (remove spaces at start/end) */
|
/** marks the input field as auto trimmed (remove spaces at start/end) */
|
||||||
protected $autoTrim = true;
|
protected $autoTrim = true;
|
||||||
|
/** minimum value */
|
||||||
|
protected $minValue = null;
|
||||||
|
/** maximum value */
|
||||||
|
protected $maxValue = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
|
@ -505,6 +509,14 @@ class htmlInputField extends htmlElement {
|
||||||
if ($this->validationRule != null) {
|
if ($this->validationRule != null) {
|
||||||
$validators[] = 'custom[' . $this->validationRule . ']';
|
$validators[] = 'custom[' . $this->validationRule . ']';
|
||||||
}
|
}
|
||||||
|
$min = '';
|
||||||
|
if ($this->minValue !== null) {
|
||||||
|
$min = ' min="' . $this->minValue . '"';
|
||||||
|
}
|
||||||
|
$max = '';
|
||||||
|
if ($this->maxValue !== null) {
|
||||||
|
$max = ' max="' . $this->maxValue . '"';
|
||||||
|
}
|
||||||
// print input field
|
// print input field
|
||||||
$class = '';
|
$class = '';
|
||||||
if (sizeof($validators) > 0) {
|
if (sizeof($validators) > 0) {
|
||||||
|
@ -533,6 +545,9 @@ class htmlInputField extends htmlElement {
|
||||||
if ($this->isPassword) {
|
if ($this->isPassword) {
|
||||||
$inputType = 'password';
|
$inputType = 'password';
|
||||||
}
|
}
|
||||||
|
elseif (($this->minValue !== null) || ($this->maxValue !== null)) {
|
||||||
|
$inputType = 'number';
|
||||||
|
}
|
||||||
$disabled = '';
|
$disabled = '';
|
||||||
if (!$this->isEnabled) {
|
if (!$this->isEnabled) {
|
||||||
$disabled = ' disabled';
|
$disabled = ' disabled';
|
||||||
|
@ -549,7 +564,8 @@ class htmlInputField extends htmlElement {
|
||||||
if (!empty($this->title)) {
|
if (!empty($this->title)) {
|
||||||
$title = ' title="' . $this->title . '"';
|
$title = ' title="' . $this->title . '"';
|
||||||
}
|
}
|
||||||
echo '<input type="' . $inputType . '"' . $class . $name . $id . $value . $maxLength . $size . $fieldTabIndex . $onKeyPress . $onKeyUp . $title . $disabled . '>';
|
echo '<input type="' . $inputType . '"' . $class . $name . $id . $value . $maxLength
|
||||||
|
. $min . $max . $size . $fieldTabIndex . $onKeyPress . $onKeyUp . $title . $disabled . '>';
|
||||||
// autocompletion
|
// autocompletion
|
||||||
if ($this->autocomplete) {
|
if ($this->autocomplete) {
|
||||||
echo "<script type=\"text/javascript\">\n";
|
echo "<script type=\"text/javascript\">\n";
|
||||||
|
@ -703,6 +719,17 @@ class htmlInputField extends htmlElement {
|
||||||
$this->validationRule = $rule;
|
$this->validationRule = $rule;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the field as number field with minimum and maximum values.
|
||||||
|
*
|
||||||
|
* @param integer $minimum minimum
|
||||||
|
* @param integer $maximum maximum
|
||||||
|
*/
|
||||||
|
public function setMinimumAndMaximumNumber($minimum, $maximum = null) {
|
||||||
|
$this->minValue = $minimum;
|
||||||
|
$this->maxValue = $maximum;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables autocompletion for this input field.
|
* Enables autocompletion for this input field.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue