日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!

發布時間:2025/4/16 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 没有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种常用组件并且支持表单验证!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。