WL JSONStore排序键<field>不是有效字符串之一

时间:2016-03-21 09:53:11

标签: ibm-mobilefirst jsonstore

尝试对findAll进行排序时遇到错误:

"Sort key dateis not one of the valid strings."

我的选项如下(我为desc尝试了不同的格式,每个人都投了同样的错误&#39;错误&#39;):

var options = {sort: [{"date": "desc"}]};

一切似乎都很好,JSONStore按预期工作,对返回的数据进行排序,我只是想确定错误&#39;确实是worklight.js部分的错误或错误,而不是我做错了。

这是在worklight.js中检查有效sortObj的函数:

  /** Checks if sortObj is a valid sort object for a query
   *   @private
   */
  var __isValidSortObject = function(sortObj, searchFields, additionalSearchFields) {
    var propertiesValidated = 0,
    sortObjKey, sortStr;

    for (sortObjKey in sortObj) {
      if (sortObj.hasOwnProperty(sortObjKey)) {
        if (propertiesValidated > 0) {
          WL.Logger.trace('Sort object ' + JSON.stringify(sortObj) + ' has more than one property. Each object must have only one property.');
          return false;
        }

        //check is sortObjKey is lowerCase
       if (_.isUndefined(searchFields[sortObjKey.toLowerCase()]) && _.isUndefined(additionalSearchFields[sortObjKey.toLowerCase()])) {
          WL.Logger.trace('Sort key ' + sortObjKey + ' is not part of search fields: ' + JSON.stringify(searchFields) + ' or additional search fields: ' + JSON.stringify(additionalSearchFields));
          return false;
       }

       sortStr = sortObj[sortObjKey];

       //Check that the string that specifies sorting order says either "asc" or "desc"
       **if (__isString(sortStr) && sortStr.length > 0 && (/^(a|de)sc$/i.test(sortStr))) {
          WL.Logger.trace('Sort key ' + sortObjKey + 'is not one of the valid strings.');
          propertiesValidated++;
       } else {  
          // Here seems to be the problem, shouldn't the trace be before return false?
          return false;
       }**
      }
    }

    if (propertiesValidated === 0) {
      return false;
    }

    return true;
 };

你可以清楚地看到,当检查没问题时,他们会执行WL.Logger.trace,并且应该在返回false之前。

是否有人在JSONStore上使用过排序也会收到此跟踪?。

平台版本:7.1.0.00.20160129-1923

1 个答案:

答案 0 :(得分:0)

我联系了IBM支持人员,他们确实确认这是一个将在下一个版本中解决的错误。