没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!
生活随笔
收集整理的這篇文章主要介紹了
没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
FormBuilder 是一個開源的PHP表單生成器,可以快速生成現代化的form表單。還可以配合開源項目 xaboy/form-create 生成任何 Vue 組件
github | 文檔
環境需求
PHP >= 5.4安裝
使用 composer:
$ composer require xaboy/form-builder:~2.0支持 UI
- IView
- ElementUI
功能介紹
- 內置17種常用的表單組件
- 支持表單驗證
- 支持生成任何 Vue 組件
- 支持柵格布局
- 支持功能注解
- 可以配合 form-create 生成更復雜的表單
生成表單
以 ElementUI 為例,用法如下:
use FormBuilderFactoryElm;$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::createForm($action)->setMethod($method);//添加組件 $form->setRule([$input, $textarea]); $form->append($switch);//生成表單頁面 echo $formHtml = $form->view();表單驗證
必填
所有內置組件都支持 required 驗證
$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 中
$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']);hex類型
$validate = Elm::validateHex();觸發方式
change
值發生變化時觸發驗證,默認
blur
組件失去焦點時觸發
submit
表單提交時觸發
完整效果圖
總結
以上是生活随笔為你收集整理的没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3发送https请求_关于p
- 下一篇: python maketrans_Pyt