B端設(shè)計(jì)總結(jié)(二):基本字段 Basic Fields

1 評論 7091 瀏覽 61 收藏 12 分鐘

在一些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)類。

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

一般來講,系統(tǒng)字段都是指自動生成的,比如說修改時間、創(chuàng)建時間、流水號、創(chuàng)建人、操作人。

輸入類字段都是可以編輯的。

02 輸入類字段 Input Type Fields

輸入類字段再往下分,首先是根據(jù)數(shù)值進(jìn)行分類。

常見的數(shù)值類型有以下幾種:

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

在確定了數(shù)值類型之后,可以對數(shù)值進(jìn)行一些格式填寫的校驗(yàn),不同的數(shù)值類型有不同的校驗(yàn)方式。

其中有兩個通用的是:

  1. 「必填」校驗(yàn):是否允許這個字段為空。
  2. 「重復(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ù)字的格式。

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

其次,如果業(yè)務(wù)需要,可以用最大最小值來限制數(shù)字的輸入范圍。

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

3. 貨幣 Currency

貨幣字段和數(shù)字字段很像,都是只允許輸入數(shù)字,區(qū)別是貨幣沒有百分比顯示的開關(guān),貨幣字段能夠設(shè)置貨幣符號,小數(shù)點(diǎn)位數(shù)至多只允許設(shè)置四位。

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

4. 日期和日期時間 Date&Date Time

在不同的業(yè)務(wù)場景中對日期還是時間有不同的需求,比如在一些會議時間中就需要「日期時間」,在一些合同簽訂場景則需要的只是「日期」。

二者都可以參與如 DateAdd、DateTime_Diff 這樣的日期運(yùn)算。

關(guān)于多時區(qū)協(xié)作的問題可參考之前這篇文章《多時區(qū)協(xié)作如何保證時間不會產(chǎn)生歧義》。

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

默認(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é)束日期不能早于開始日期

比較清楚的是,可以將以上場景收斂為三個分類:

  1. 某個具體的日期參與的校驗(yàn)范圍
  2. 動態(tài)的“今天”參與的校驗(yàn)范圍
  3. 其它日期字段字段值(動態(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。

B端設(shè)計(jì)總結(jié) 03:基本字段 Basic Fields

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)系,那就需要了解以下兩個字段:

  1. 「聚合(Rollup)」:用于計(jì)算所選數(shù)據(jù)的匯總、求平均值、最大、最小值
  2. 「引用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ù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 感覺這個基本都是約定俗成的,閉著眼睛來做…

    來自廣東 回復(fù)