可选的表单数据

在处理用户填写的表单数据时,常常会有一些次要的可选项,这些项序列化之后,保存在一个字段里面。比如:

attr: {"version":"1.7.2", "icon":"http://......."}

这就涉及到一个问题:如果用户没有填写某一项,这一项是直接不放到attr里面去,还是给一个默认值?给的默认值是什么?

 

我就碰到了这样的问题。一开始认为如果不放到attr里面,会在后来修改用户信息时的增量修改时,带来麻烦,决定给一个默认值。

缺乏思考,直接给了一个字符串型的“false”。结果在获取数据的时候,判断是否存在这项数据,就需要这样判断:

if (attr.version && attr.version != 'false'){
//
}

但如果使用了布尔型false,则只需要判断

if (attr.version){
//
}

 

其实,最好的方式,是如果用户没有填写某项,就不放到attr里面去;在更新的时候,增加/替换这个值。如果用户删除了这一项,再把值置为false,可以节省很多空间

posted @ 2012-08-13 16:23  野豌豆花  阅读(100)  评论(0编辑  收藏  举报