2014-01-13 72 views
1

我的CoffeeScript的此位來聲明一個表單元素是否有可能做到這一點的對象聲明在線

validation = {} 

if isRequired 
    validation.required = 
    params: true 
    message: "Please enter a year between #{minYear} & #{maxYear}." 

@Year = new inputFormItem 
    validation: validation 

是否有可能做這樣的一個在線聲明?

事情是這樣的,但我已經寫不編譯

@Year = new inputFormItem 
    validation: 
    if isRequired then required: { params: true, message: "Please enter a year between #{minYear} & #{maxYear}." } 

如果需要的話,我不知道是否有可能把內嵌條件語句中的對象聲明

爲真,那麼我需要該對象,否則我不想要一個必需的對象。

回答

2

試試這個:

@Year = new inputFormItem 
    validation: 
    required: if isRequired then { params: true, message: "Please enter a year between #{minYear} & #{maxYear}." } else null 

這將默認爲null(你可以做undefined如果你想)。如果你想讓它默認爲false,那麼你可以這樣做:

@Year = new inputFormItem 
    validation: 
    required: isRequired and { params: true, message: "Please enter a year between #{minYear} & #{maxYear}." } 
+0

未定義的作品 - 空沒有 - 但可能是是與我使用驗證庫 - 謝謝:d – Neil

+0

是的,它可能檢查typeof validation.required!==「undefined」而不是真實性檢查。 – sbking

相關問題