layui踩坑日常 實現動態生成表單自定義驗證規則

2021-10-06 13:36:45 字數 3396 閱讀 3919

錄入資訊功能,指的是根據一張動態獲取的資料庫表的結構,新增一條資料。

1.需要前端對輸入的字段資訊進行一些判斷,包括:文字型別、文字長度、是否必填。

2.不同的文字型別對應不同的輸入框:時間使用layui的時間選擇器;長文字使用layui的文字域;其他型別使用layui的普通輸入框。

3.不同字段需要對長度進行判斷,需要判斷是否為必填項(圖中帶*的就是),需要判斷是否為數字型別。

裡面字段很多,主要是int 、varchar、datetime、text這幾種型別。

// 封裝判斷長度規則

function

setverify

(fieldname, num)

;// obj[fieldname] = function (value) 不能超過$個字元`;

// }

// },

// layui.form.verify(obj);

// 方法2

layui.form.

verify

(不能超過

$個字元`;}

}});

}// 渲染所有時間選擇器

function

rendertimes

(arr)`,

'date',''

,'');}}}

if

(res.code ==

200)

else

;let tr =

` $$

$$$$

`;$(

"#tbody").

(tr)

;// 下拉框:表資訊用到的下拉框

let opts =

`$">$`

;$("#field").

(opts)

;// 表頭:表資訊layui**的表頭

let obj =

if(obj.title =="")

cols_table.

push

(obj)

;/*表單-開始 */

// 表單:錄入資料的表單結構

let str_nulls ="";

//星星*

let str_verify ="";

//判斷規則

let str_field ="";

//欄位名稱

let str_comment ="";

//字段描述

let maxlength ="";

//文字域的最大長度

let inputbox ="";

//輸入框盒子

str_field =`$

`;str_comment =`$

`;//判斷是否為必填

if(data[i]

.nulls ==

"是")

//判斷是否有欄位描述

if(str_comment =="")

//判斷資料型別

if(data[i]

.type ==

"int"

|| data[i]

.type ==

"tinyint"

|| data[i]

.type ==

"tinyint"

|| data[i]

.type ==

"bigint"

|| data[i]

.type ==

"double"

)else

if(data[i]

.type ==

"text"

|| data[i]

.type ==

"longtext"

)else

// 匹配輸入框盒子

if(data[i]

.type ==

"text"

|| data[i]

.type ==

"longtext"

)else

if(data[i]

.type ==

"datetime"

)" placeholder="請選擇時間" autocomplete="off" class="layui-input"

id="

$">

`;needtimearr.

push

(data[i]

.field);}

else

" autocomplete="off"

placeholder="請輸入" class="layui-input" lay-verify="$"

lay-reqtext="

$不能為空">

`;}let items =

` $

">$$

$">

$ $`

;$("#adddataform").

(items)

;/*表單-結束 */

}rendertimes

(needtimearr)

;//渲染所有時間選擇器

layui.form.

render()

;//過載

gettabledata()

;//獲取**資料

}

別人總結好的:

1.分析需求,對不同的字段進行判斷,執行不同的驗證規則。

2.動態生成不同驗證規則,規則名稱以欄位名命名。

3.封裝方法,減輕痛苦。

日常踩坑18 3 29

sublime中 自動補齊外掛程式emmet還有各種各種,網上隨手能搜到,但是有時候裝了外掛程式也不自動補齊,這時候,tab鍵就異常的好用了。css中檔案路徑 相對.css所在的目錄而言 表示上一級目錄開始 表示當前同級目錄開始 表示根目錄開始。表示原始檔所在目錄的上上級目錄 切圖基本原則 盡量使用...

日常踩坑小計

1.空指標異常nullpointexceptin a.物件 獲取物件屬性時前一步一定要對物件做判空處理,應該規整 嚴謹。判斷時最好null在前。例如if null object else b.集合 for迴圈集合之前也要對集合做判空處理,迴圈過程中不得對集合做增刪操作,這會令集合大小發生改變,從而影...

日常踩坑總結

self.parser.add argument lr use action store true default false cuda visible devices 1 python my script.py 方法一 os.environ cuda visible devices 2 方法二 t...