2014-01-13 54 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

相关问题