2013-07-12 25 views

回答

2

這很大程度上取決於您呈現這些輸入的方式。如果你使用海邊的組件,那麼你可能會實現你自己的邏輯在回調中:

html textInput 
    callback: [ :value | self setOrResetMyInputWith: value ] 
    with: 'my input'. 

#setOrResetMyInputWith:可能則是這樣的:

setOrResetMyInputWith: aString 
    myInputValue := self allCriteriaMet 
     ifTrue: [ aString ] 
     ifFalse: [ nil ] 

請記住,你無法預測的順序的回調將被評估。因此,它可能會更容易呈現前做檢查:

renderContentOn: html 
    self checkMyInputs. 
    "continue rendering process" 
    ... 

然後,您可以簡單地設置您的實例變量,如果條件不滿足。

這是組件。如果你使用Magritte,那麼Magritte的驗證機制應該處理這個問題。您只需在相應的說明中啓用驗證即可。