iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0

如果有天使用者隨便輸入的資料都能直接進資料庫,那資料庫還是省省不要建好了(這真的母湯!怕),作為一個負責任但不想加班的工程師,資料在進資料庫前還是要自動化驗證一下,今天來看怎麼在低代碼平台上自動驗證資訊。

資料驗證的方式

在Mendix上主要有三個位置,能在資料被寫進資料庫前做自動化驗證,一種在domain model裡寫好需要驗證的部分,另一種是走microflows流程來自動驗證,最後一種是在頁面上做自動驗證。
前者主要注重於domain model裡各物件的屬性(attributes)設定,此設定會影響整個應用程式,涵蓋最全面。做microflows驗證,可限定要驗證的部分,也能侷限於應用程式的某些地方,比domain model更容易更新。在頁面上設定驗證的方法不多且僅限於該頁面使用。

可進行驗證的項目如下:
必要性: 此資料處不可為空白,例如: email地址
獨特性: 資料的內容不可以與其他資料相同,例如: 身分證ID
一致性: 再次輸入的資料與之前的資料一致,例如: 確認輸入的密碼
範圍: 資料須在設定的範圍裡面,例如: 月份只有1~12
正規表達式: 資料符合正規表達式的規則,例如: email格式
長度極限: 資料不可超過多少字長,例如: 電話號碼長度

資料庫中驗證

到domain model的頁面在想要設定驗證的物件上,點滑鼠左鍵兩下,會看到以下的畫面,之後前往Validation rules。

https://ithelp.ithome.com.tw/upload/images/20200926/20129530IrAWbI0QJN.jpg

在Validation rules新增新的驗證規則
在新增的驗證規則裡,選擇想要套用驗證規則的屬性(attribute)後,點選想要套用何種驗證規則,一個屬性可套用多種驗證規則。

https://ithelp.ithome.com.tw/upload/images/20200926/20129530TaBSoioy6q.jpg

溫馨提醒,選擇Regular express的話需另外撰寫Regex。 Regex101好用不解釋
https://ithelp.ithome.com.tw/upload/images/20200926/20129530uqiOwISBX4.jpg

Microflows驗證

  1. Microflows驗證流程首先要選擇綁定microflows的按鈕,例如: 儲存按鈕

https://ithelp.ithome.com.tw/upload/images/20200926/20129530NtksOS19ji.jpg

  1. 接下來就可以開始製作microflows了,官方建議從想要的結果開始做起,例如:

https://ithelp.ithome.com.tw/upload/images/20200926/20129530322o4pdPzo.png

  1. 接著做需要驗證的項目有哪些,用Decision方塊來做為資料是否有合格的把關點,驗證寫法與之前所講的操作符寫法相同,例如: 課程的標題不可為空白

https://ithelp.ithome.com.tw/upload/images/20200926/20129530jCZC2ofb5X.png

寫法範例:

https://ithelp.ithome.com.tw/upload/images/20200926/20129530wvdAtH7Oof.png

  1. 那如果資料驗證沒過時,我們需要給使用者的訊息為何呢? 在顯示訊息的方框上點滑鼠左鍵兩下就可以進去編輯客製化訊息。

https://ithelp.ithome.com.tw/upload/images/20200926/20129530rHndU9prB8.png

https://ithelp.ithome.com.tw/upload/images/20200926/201295306AbpZGxchz.png

5.在使用者將錯誤排除後,我們要讓資料繼續輸入進資料庫裡,這就需要merge的幫忙。

https://ithelp.ithome.com.tw/upload/images/20200926/20129530VdZqo29IT6.png

但這樣就完成了嗎? 如果這樣想就太天真了,這樣的資料雖然有錯誤但還是會被寫進資料庫中,那驗證流程就是做心酸的...要避免這種情形,我們需要另外建立控制用的變數,只有在變數的內容為true時,資料才能被寫入資料庫中。

https://ithelp.ithome.com.tw/upload/images/20200926/2012953050BEajYx6k.png

在一開始創立變數時設定為true

https://ithelp.ithome.com.tw/upload/images/20200926/201295308blWd1Dq6m.png

在每一次資料不符合驗證時,將變數改為

https://ithelp.ithome.com.tw/upload/images/20200926/20129530THUBNJiWRU.png

最後確認變數是否為true
這樣就完成了!!

頁面的驗證

在需要的物件上點左鍵兩下便能夠進行驗證項目的設定。

https://ithelp.ithome.com.tw/upload/images/20200926/20129530CDPE2c0J6T.png

總結,輸入資料時多一分鐘做自動化驗證,之後才有完整的資料庫可以用!!


上一篇
來啊!身為工程師,我就是要通通自動化!
下一篇
我只是想要好好地把資料刪除,有那麼難嗎?
系列文
Mendix從入門到了解,工程師和業務都要知道低代碼平台是什麼30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言