FormBuilder
FormBuilder - это генератор формы PHP с открытым исходным кодом, который быстро генерирует современную форму формы. Вы также можете сотрудничать с проектами с открытым исходным кодомxaboy/form-createСоздание любого компонента Vue
экологические потребности
- PHP >= 5.4
Установить
использоватьcomposer:
$ composer require xaboy/form-builder:~2.0
Документация
Пользовательский интерфейс поддержки
- IView
- ElementUI
Функции
- 17 видов часто используемых компонентов встроенной формы
- Проверка формы поддержки
- Поддержка создания любого компонента Vue
- Поддержка макета сетки
- может сотрудничатьform-createСоздание более сложных форм
создать форму
Взяв в качестве примера ElementUI, использование выглядит следующим образом:
use FormBuilder\Factory\Elm;
$action = '/save.php';
$method = 'POST';
$input = Elm::input('goods_name', '商品名称')->required();
$textarea = Elm::textarea('goods_info', '商品简介');
$switch = Elm::switches('is_open', '是否开启')->activeText('开启')->inactiveText('关闭');
//创建表单
$form = Elm::form($action)->setMethod($method);
//添加组件
$form->setRule([$input, $textarea]);
$form->append($switch);
//生成表单页面
echo $formHtml = $form->view();
проверка формы
Необходимый
Все встроенные компоненты поддерживают необходимую проверку
$input = Elm::input('goods_name','商品名称');
//必填
$input->required();
Создайте необходимое правило проверки
//input 组件值得类型为 string
$validate = Elm::validateStr();
$validate->required()->message('请填写商品名称');
$input->appendValidate($validate);
//$input->appendValidates([$validate]);
//$input->validate([$validate]) //这个会覆盖刚刚添加的必填规则
Получить правило проверки, соответствующее типу компонента
Все встроенные компоненты поддерживают получение правил проверки компонента с помощью метода createValidate.Примечание: для компонента может быть несколько типов правил проверки.Вам необходимо настроить все правила компонента перед их получением.
$start = date('Y-m-d', strtotime('- 10day'));
$end = date('Y-m-d', time());
$dateRange = Elm::dateRange('start_time','时间区间', $start, $end);
$validate = $dateRange->createValidate();
Длина или значение должны быть в пределах этого диапазона
$validate->range(1,10);
Длина или значение должны быть больше этого значения.
$validate->min(1);
Длина или значение должно быть меньше этого значения.
$validate->max(10);
длина или значение должны быть равны этому значению
$validate->length(10);
значение должно быть в списке
$list = [1,2,3,4];
$validate->enum($list);
Регулярная проверка
$validate->pattern('^[A-Z]+$');
Сообщение об ошибке аутентификации
$validate->message('输入有误');
Создать правило
string
Типы
$validate = Elm::validateStr();
//email
$validate = Elm::validateEmail();
//url
$validate = Elm::validateUrl();
array
Типы
$validate = Elm::validateArr();
int
Типы
$validate = Elm::validateInt();
float
Типы
$validate = Elm::validateFloat();
float|int
Типы
$validate = Elm::validateNum();
Date
Типы
НапримерDatePicker
,TimePicker
$validate = Elm::validateDate();
object
Типы
$validate = Elm::validateObject();
тип перечисления
$validate = Elm::validateEnum()->enum(['1','2','3']);
шестнадцатеричный тип
$validate = Elm::validateHex();
Метод триггера
change
Инициировать проверку при изменении значения,По умолчанию
blur
Запускается, когда компонент теряет фокус
submit
Запускается при отправке формы