code: function normalize(obj) {
      var result = {}, fieldDefine, value;
      for(var field in options) {
        fieldDefine = options[field];
        value = obj[field];
        value = castValue(fieldDefine, value, obj);
        validateValue(fieldDefine, value, field);
        if(value != null) {
          // ignore null value
          result[field] = value;
        }
      }
      return result;
    }
docs: normalize and validation
  {"int":"5"} => {"int": 5}