0

I am looking for a way to retrieve all validation errors. (I'm using Collection2 and SimpleSchema)

Consider this code:

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

output:

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

I would like to have all the error messages that are related to validation. Unfortunately I couldn't find any solution for this.

SOLUTION:

I've found a satisfiable solution

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

1 に答える 1

1

私は同じ問題に遭遇しました。私の解決策は、上記のエラーをクライアント mongo エラー コレクションに挿入し、エラーをユーザーに表示することでした。以下は私が思いついたものです:

スキーマ

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}) 
    });
  }
}
于 2014-12-08T23:26:26.147 に答える