我正在製作一個購物車的複雜表單,我想在訂單處理的不同階段驗證我的order
對象的不同部分。在對象生命週期的不同階段更改流星模式驗證?
OrderSchema = new SimpleSchema({
itemsOrdered: {
type: [Object],
optional: false,
},
totalPrice: {
type: Number,
optional: false,
},
status: {
type: String,
optional: false
},
termsAgreed: {
type: Boolean,
optional: false
},
customerAddress: {
type: Object,
optional: false
},
stripePaymentInfo: {
type: Object,
optional: true,
blackbox: true
},
});
這有點亂七八糟IMO,因爲不同的領域必須在order
的生命週期的不同階段,不同的驗證了。
在選擇產品的中間用戶仍然還沒有
termsAgreed
,customerAddress
,或stripePaymentInfo
但我不想因爲這兩個驗證失敗,因爲它仍然爲時過早在訂購流程驗證此填寫他們的客戶地址的用戶不需要
stripePaymentInfo
或termsAgreed
。等
我需要的模式,以在不同階段成功驗證觸發像使continue
按鈕的東西。
問題是autoform
總是希望使用整個模式來驗證整個對象,對於像聯繫人表單這樣的簡單對象來說這很好,並且這樣的生命週期並不多。
在他們的生命週期的不同階段是否有複雜對象驗證的最佳實踐或模式?
介意試圖將其拆分成子模式並從中選擇與之結合以派生不同的模式?或者取而代之的是在不同階段從中提取。 – Season
你會如何使用'autoform'在不同的時間調用這些子模式? – fuzzybabybunny