2014-11-10 3 views
0

Я ищу способ получить все ошибки проверки. (Я использую Collection2 и SimpleSchema)Meteor collection2 - все сообщения проверки

Рассмотрим этот код:

Foo.insert({ 
    title: '', 
    description: '' 
}, function(error, result) { 
    console.error(error); 
}); 

выход:

{ 
    message: 'Title may not be empty.', 
    invalidKeys: [ 
     0: { 
      name: 'title', 
      type: 'required', 
      value: '' 
     }, 
     1: { 
      name: 'description', 
      type: 'required', 
      value: '' 
     } 
    ] 
} 

Я хотел бы, чтобы все сообщения об ошибках, связанных с проверкой. К сожалению, я не могу найти решение для этого.

РЕШЕНИЕ:

Я нашел выполнимые решения

Foo.simpleSchema().namedContext().keyErrorMessage('title'); 

ответ

1

Я столкнулся с той же проблемой, и мое решение было вставить сказал ошибки в коллекции ошибок клиента Монго, который будет затем дисплей ошибки пользователю. Ниже то, что я придумал:

схемы

Schema.newUser = new SimpleSchema({....}); 

стороне клиента Валидация

function tokenRegistration (newUser) { 
    var valContext = Schema.newUser.namedContext('tokenRegForm'); 
    if (!valContext.validate(newUser)) { 
    var keys = valContext.invalidKeys(); 
    _.each(keys, function (value) { 
     var error = value.name, 
      message = valContext.keyErrorMessage(error); 
     return ErrorMessage.insert({errormessage: message}) 
    }); 
    } 
} 
Смежные вопросы