錄入資訊功能,指的是根據一張動態獲取的資料庫表的結構,新增一條資料。
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...