Files
panchengyong c1e74d8e68 chore(php): 统一 ScottPan 文件头与注释域名替换
- 按 docs/renew-code-comment.md 将 PHP 文件头改为带边框的 Author 注释\n- 注释中的 crmeb.com 替换为 uj345.cn(代码字符串中的外链未改)\n- 新增 docs/renew-code-comment.md 说明

Made-with: Cursor
2026-03-29 11:22:58 +08:00

113 lines
2.2 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
// +----------------------------------------------------------------------
// | Author: ScottPan Team
// +----------------------------------------------------------------------
namespace crmeb\form\components;
use crmeb\form\BaseComponent;
use crmeb\form\BuildInterface;
/**
* 数字输入框
* Class InputNumber
* @package crmeb\form\components
*/
class InputNumber extends BaseComponent implements BuildInterface
{
/**
* 组件名
*/
const NAME = 'inputNumber';
/**
* 规则
* @var string[]
*/
protected $rule = [
'title' => '',
'value' => '',
'type' => '',
'field' => '',
'prefix' => '',
'suffix' => '',
'info' => '',
'min' => null,
'max' => 99999999
];
/**
* InputNumber constructor.
* @param string $field
* @param string $title
* @param null $value
*/
public function __construct(string $field, string $title, $value = null)
{
$this->rule['title'] = $title . '';
$this->rule['field'] = $field;
$this->rule['value'] = floatval($value);
}
/**
* 提示语
* @param string $info
* @return $this
*/
public function info(string $info)
{
$this->rule['info'] = $info;
return $this;
}
/**
* 最小值
* @param int $min
* @return $this
*/
public function min(int $min)
{
$this->rule['min'] = $min;
return $this;
}
/**
* 最大值
* @param int $max
* @return $this
*/
public function max(int $max)
{
$this->rule['max'] = $max;
return $this;
}
/**
* @return array|string[]
*/
public function toArray(): array
{
$this->rule['name'] = self::NAME;
$this->before();
return $this->rule;
}
/**
* @param $name
* @param $arguments
* @return $this
*/
public function __call($name, $arguments)
{
if (in_array($name, ['title', 'field'])) {
return $this;
}
$keys = array_keys($this->rule);
if (in_array($name, $keys)) {
$this->rule[$name] = $arguments[0] ?? null;
}
}
}