Генератор форм PHP, поддерживает проверку формы

PHP
Генератор форм PHP, поддерживает проверку формы

FormBuilder

FormBuilder - это генератор формы PHP с открытым исходным кодом, который быстро генерирует современную форму формы. Вы также можете сотрудничать с проектами с открытым исходным кодомxaboy/form-createСоздание любого компонента Vue

github | Документация

экологические потребности

  • 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

Запускается при отправке формы

визуализация

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/9/17/16d3e566f1b86c1d~tplv-t2oaga2asx-image.image