B端設(shè)計(jì)總結(jié)(二):基本字段 Basic Fields
在一些B端后臺中,最基礎(chǔ)的就是字段了。除了“系統(tǒng)字段”、“業(yè)務(wù)字段”、“管理型字段”、“規(guī)則型字段”之外,還可以在通用的業(yè)務(wù)場景中按照輸入類和系統(tǒng)類再細(xì)分,本文作者從這兩個方面進(jìn)行了分析,一起來看一下吧。
輸入和選擇控件果然鴿了,寫點(diǎn)偏業(yè)務(wù)的。
01 字段 Field
前陣子在一個群里參與了關(guān)于「字段(Field)」的討論。
無論是在黑帕云、飛書多維表格、維格表、Airtable 還是在一些 B 端后臺中,最基礎(chǔ)的就是字段。
有個文章對字段做了區(qū)分,分為“系統(tǒng)字段”、“業(yè)務(wù)字段”、“管理型字段”、“規(guī)則型字段”,定義是:
- 業(yè)務(wù)型字段:體現(xiàn)業(yè)務(wù)要求的字段,承載業(yè)務(wù)信息的展示。
- 系統(tǒng)型字段:系統(tǒng)交互之間的的請求日志信息字段,如系統(tǒng)主鍵、業(yè)務(wù) ID、創(chuàng)建時間、創(chuàng)建人、版本號、最后修改時間、最后修改人等。以及系統(tǒng)之間的交互的請求編號、請求時間、請求相應(yīng)信息等。
- 管理型字段:為了管理需要設(shè)置的字段,如操作時間、操作人、日志信息、操作意見、備注等。
- 規(guī)則型字段:系統(tǒng)為了某一規(guī)則而存續(xù)的字段。比如商品是即將下架的產(chǎn)品,可以設(shè)置下架時間、庫存量等,自動觸發(fā)后將商品下架。
這樣的方式非常適用于一些后臺產(chǎn)品設(shè)計(jì),很好和技術(shù)去溝通需求。
在這個基礎(chǔ)上,我想補(bǔ)充一些更通用的字段類型和字段格式。
在通用的業(yè)務(wù)場景中可以按照輸入類和系統(tǒng)類兩個大類去往下根據(jù)不同業(yè)務(wù)來再細(xì)分。
這兩個很好區(qū)分:需要業(yè)務(wù)人員填寫的就是輸入類,自動計(jì)算的則是系統(tǒng)類。
一般來講,系統(tǒng)字段都是指自動生成的,比如說修改時間、創(chuàng)建時間、流水號、創(chuàng)建人、操作人。
輸入類字段都是可以編輯的。
02 輸入類字段 Input Type Fields
輸入類字段再往下分,首先是根據(jù)數(shù)值進(jìn)行分類。
常見的數(shù)值類型有以下幾種:
在確定了數(shù)值類型之后,可以對數(shù)值進(jìn)行一些格式填寫的校驗(yàn),不同的數(shù)值類型有不同的校驗(yàn)方式。
其中有兩個通用的是:
- 「必填」校驗(yàn):是否允許這個字段為空。
- 「重復(fù)」校驗(yàn):是否允許這個字段值和其它值重復(fù),如果不允許重復(fù)則無法保存或提交,常見于錄入線索聯(lián)系人手機(jī)號或身份證、商品編碼等場景,比如要求身份證號碼必填并不允許重復(fù),避免了重復(fù)錄入。
其它的校驗(yàn)要根據(jù)字段值的結(jié)果進(jìn)行區(qū)分。
1. 字符串 String
字符串通常可以一些正則表達(dá)式用來做以下業(yè)務(wù)常見格式的校驗(yàn):郵箱手機(jī)號身份證號碼網(wǎng)址。
這幾個類型都很好理解,其中要特殊說明一下「身份證號碼」類型。
大家知道,身份證號碼最后一位可以是 X 的,當(dāng)時我們在做這個校驗(yàn)規(guī)則的時候沒有了解正規(guī)的身份證號碼的 X 應(yīng)該是大寫還是小寫。
有用戶就問了,這個 X 是否大小寫敏感?我看了一下,當(dāng)時沒有做大小寫敏感。正規(guī)的身份證號碼 X 應(yīng)該是大寫,也就是說我們輸入小寫 x 也是會通過校驗(yàn)可以順利提交的。
如果不校驗(yàn)的話,會發(fā)生什么?——用戶因?yàn)榘凑丈矸葑C號碼字段設(shè)置了自動化的觸發(fā),用“線索表”的身份證號碼去自動查詢“機(jī)會表”客戶的身份證,如果已經(jīng)存在,就不會在機(jī)會表中新增這個聯(lián)系人,而是直接更新這個聯(lián)系人的其他信息。而自動化查詢時是大小寫敏感的,也就是說如果在“機(jī)會表”中, 假設(shè)有一個 “61010119941120003X” 的身份證號,如果銷售再在“線索表”錄入了“ 61010119941120003x”就會把這條數(shù)據(jù)自動觸發(fā)重復(fù)錄入到機(jī)會表中。
現(xiàn)在的問題是要解決重復(fù)錄入,重復(fù)的根源是身份證格式校驗(yàn)要更精確。一拍腦門的做法可能是會告訴開發(fā),在校驗(yàn)身份證時,要大小寫敏感,必須要填寫大寫”X”才能通過校驗(yàn)。
但是站在用戶的角度思考,這種處理方式就很惡心,因?yàn)椤癤”要大寫這件事不是一個熱知識。我們需要保證效率,而不是我們知道用戶錯了,我們會改,但我們就是要讓用戶自己改。
所以,我想到了更優(yōu)雅的解決方式:如果用戶輸入了小寫的“x”,在存數(shù)據(jù)時,我們主動幫用戶修正為大寫的“X”。
2. 數(shù)字 Number
對數(shù)字進(jìn)行數(shù)值校驗(yàn)時,首先需要設(shè)置數(shù)字的格式。
其次,如果業(yè)務(wù)需要,可以用最大最小值來限制數(shù)字的輸入范圍。
3. 貨幣 Currency
貨幣字段和數(shù)字字段很像,都是只允許輸入數(shù)字,區(qū)別是貨幣沒有百分比顯示的開關(guān),貨幣字段能夠設(shè)置貨幣符號,小數(shù)點(diǎn)位數(shù)至多只允許設(shè)置四位。
4. 日期和日期時間 Date&Date Time
在不同的業(yè)務(wù)場景中對日期還是時間有不同的需求,比如在一些會議時間中就需要「日期時間」,在一些合同簽訂場景則需要的只是「日期」。
二者都可以參與如 DateAdd、DateTime_Diff 這樣的日期運(yùn)算。
關(guān)于多時區(qū)協(xié)作的問題可參考之前這篇文章《多時區(qū)協(xié)作如何保證時間不會產(chǎn)生歧義》。
默認(rèn)值、支持時間、必填都比較基礎(chǔ),就不用再寫了。
簡單寫一下關(guān)于日期格式校驗(yàn)一些總結(jié)。
當(dāng)時在做這個功能設(shè)計(jì)的時候,模擬了以下場景:
- 某旅游團(tuán)只允許 18 歲-65 歲購買,出生日期早于 2003 年,晚于 1956
- 某博物館門票預(yù)定只能購買第二天門票
- 酒店預(yù)定開始日期只能預(yù)定最近 7 天(不含今天)
- 管理發(fā)票的回款,在填寫回款明細(xì)的時候,回款日期不能超過今天。
- 機(jī)票回程日期不能早于啟程日期
- 酒店預(yù)定結(jié)束日期不能早于開始日期
比較清楚的是,可以將以上場景收斂為三個分類:
- 某個具體的日期參與的校驗(yàn)范圍
- 動態(tài)的“今天”參與的校驗(yàn)范圍
- 其它日期字段字段值(動態(tài)值)參與的校驗(yàn)范圍
從業(yè)務(wù)的角度和成本考慮,對“今天”的需求概率會更高并且成本適中,所以在 Phase1 中, 做了前兩個分類的功能。
在應(yīng)用管理員設(shè)置校驗(yàn)時,可以設(shè)置這些規(guī)則:早于晚于在范圍內(nèi)是不是
范圍可以選擇為:
- 指定日期:可以根據(jù)字段類型設(shè)置指定的日期或日期時間
- 填寫日期(“今天”)
- 填寫日期前(“今天”):選擇這項(xiàng)后,可以動態(tài)設(shè)置范圍是填寫日期前[1,3650]區(qū)間的整數(shù)
- 填寫日期后(“今天”):選擇這項(xiàng)后,可以動態(tài)設(shè)置范圍是填寫日期后[1,3650]區(qū)間的整數(shù)
提供以上幾種的規(guī)則和范圍,就能覆蓋除了需要其他日期字段值的任何校驗(yàn)場景了。
5. 選擇 Select
選擇在表單中非常常見,可以分為單選和多選。
單選的表現(xiàn)形式有以下兩種:Select 和 Radio Button。
03 系統(tǒng)字段 System Fields
對于系統(tǒng)類字段再細(xì)分下去是系統(tǒng)自動生成的基礎(chǔ)信息,就是創(chuàng)建人、創(chuàng)建時間、修改人等,但是還有幾類,一個是公式計(jì)算的,比如商品價格*數(shù)量這種公式。
如果已經(jīng)接觸了關(guān)系型數(shù)據(jù)庫,知道表和表之間的關(guān)系,那就需要了解以下兩個字段:
- 「聚合(Rollup)」:用于計(jì)算所選數(shù)據(jù)的匯總、求平均值、最大、最小值
- 「引用Lookup」:引用它表的數(shù)據(jù)
04 寫在最后
以上就是基本的字段的幾種類型,在 B 端產(chǎn)品中,這些字段類型非常常見。
復(fù)雜高級的字段后續(xù)會繼續(xù)再寫,比如地址字段(Address)、多級選擇(Multi-Select)、動態(tài)關(guān)聯(lián)(Dynamic Link Record)。
作者:高拉,微信公眾號:高拉
本文由 @高拉 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
感覺這個基本都是約定俗成的,閉著眼睛來做…