如下圖所示:
郵政“郵政編碼”字段,數(shù)據(jù)庫中是varchar2(10)。
但是amazeui的頁面校驗中,關(guān)于字符長度的校驗方式如下:
JS 表單驗證
JS 表單驗證基于 HTML5 的各項驗證屬性進(jìn)行:
required
: 必填;pattern
: 驗證正則表達(dá)式,插件內(nèi)置了 email
、url
、number
三種類型的正則表達(dá)式;minlength
/maxlength
: 字符限制;min
/max
: 最小、最大值限制,僅適用于數(shù)值類型的域;minchecked
/maxchecked
: 至少、至多選擇數(shù),適用于 checkbox
、下拉多選框,checkbox
時將相關(guān)屬性的設(shè)置在同組的第一個元素上;.js-pattern-xx
: 驗證規(guī)則 class,正則庫中存在的規(guī)則可以通過添加相應(yīng) class 實現(xiàn)規(guī)則添加。注意:
HTML5 原生表單驗證中 pattern
只驗證值的合法性,也就是可以不填,如果填寫則必須符合規(guī)則。如果是必填項,仍要添加 required
屬性。該插件與 HTML5 的規(guī)則保持一致。
<!-- 下面三種寫法等效 --> <!-- 只內(nèi)置了 email url number 三種類型的正則,可自行擴(kuò)展 --> <input type="email"/> <!-- js-pattern-xx 其中 xx 為 pattern 庫中的 key --> <input type="text" class="js-pattern-email"/> <input type="text" pattern="^(...email regex...)$"/>
即maxlength=10,amazeui的意思是可以輸入10個字(數(shù)字、字母、漢字等同對待,都視為一個字)
但是假如前段輸入了10個漢字”中中中中中中中中中中“,提交后肯定數(shù)據(jù)庫長度溢出,因為該字段數(shù)據(jù)庫的長度是varchar2(10)即10byte只能存3.3333個不到4個漢字(因為一個漢字如果GBK\GB2312編碼占2個字節(jié),但是unicode\utf-8編碼占3個字節(jié))。
所以僅maxlength=10不能正確的限制輸入,還要加上js-pattern-number這個限制(這個確保輸入的是整數(shù),這樣漢字就輸入不進(jìn)去了)。
總結(jié)
到此這篇關(guān)于amazeui頁面校驗功能的實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)amazeui頁面校驗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
標(biāo)簽:漯河 棗莊 青島 遼源 池州 西藏 永州 新疆
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《amazeui頁面校驗功能的實現(xiàn)代碼》,本文關(guān)鍵詞 amazeui,頁面,校驗,功能,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。