longshotlabs / simpl-schema

A JavaScript schema validation package that supports direct validation of MongoDB update modifier objects
https://www.npmjs.com/package/simpl-schema
MIT License
560 stars 114 forks source link

Delete the name of collections in error messages #408

Closed Saeeed-B closed 4 years ago

Saeeed-B commented 4 years ago

When errors are returned (If the input information is incorrect) , The name of the corresponding collection is also in the error message . LIKE this :

name is required in CollectionName insert

i want this part (in CollectionName insert ) gone

github-actions[bot] commented 4 years ago

Thank you for submitting an issue!

If this is a bug report, please be sure to include, at minimum, example code showing a small schema and any necessary calls with all their arguments, which will reproduce the issue. Even better, you can link to a saved online code editor example, where anyone can immediately run the code and see the issue.

If you are requesting a feature, include a code example of how you imagine it working if it were implemented.

If you need to edit your issue description, click the [...] and choose Edit.

Be patient. This is a free and freely licensed package that I maintain in my spare time. You may get a response in a day, but it could also take a month. If you benefit from this package and would like to see more of my time devoted to it, you can help by sponsoring.

Saeeed-B commented 4 years ago

@intrueder @coagmano @SachaG @SimonSimCity @tophsic I really tried every inventory method, but this problem was not solved. And I have been involved in it for many days. Please Guide me

Saeeed-B commented 4 years ago

@aldeed The documentation is not really clear

coagmano commented 4 years ago

@Saeed-Bahrami Try using defineValidationErrorTransform to customise the message and details sent to the client. See https://github.com/aldeed/simpl-schema#customize-the-error-that-is-thrown

Which version of simpl-schema are you using?

Saeeed-B commented 4 years ago

@coagmano im using: "simpl-schema": "^1.10.1",

Saeeed-B commented 4 years ago

@Saeed-Bahrami Try using defineValidationErrorTransform to customise the message and details sent to the client. See https://github.com/aldeed/simpl-schema#customize-the-error-that-is-thrown

That is, to manually separate and delete the names of collections?

Saeeed-B commented 4 years ago

However, error messages belong to software users, and users do not need to see the name of the collection. And this part should not be returned at all

coagmano commented 4 years ago

I don't pass collection insert/update/etc messages to the client at all. So I agree with you there. The solution then is to not return the error to the client

I do validation separately on the client, so the message is relevant to the specific input or action that caused the error

Saeeed-B commented 4 years ago

@coagmano It is true. But for more security and reliable work. The input of collections should also be controlled. And how much better to do client (Components) and server (Collections) authentication together (with Collection2)

Saeeed-B commented 4 years ago

@Saeed-Bahrami Try using defineValidationErrorTransform to customise the message and details sent to the client. See https://github.com/aldeed/simpl-schema#customize-the-error-that-is-thrown

I used exactly this method to convert error to meteor error. Both server (in Start Up ) and client side. But it didn't really work!

SachaG commented 4 years ago

@Saeed-Bahrami it's not great manners to mention people completely unrelated to an issue. I also have work to do, asking me to provide free support on a project that isn't even mine feels a bit too much…

Saeeed-B commented 4 years ago

@SachaG Sorry, I thought these people were related.

aldeed commented 4 years ago

@Saeed-Bahrami This error comes from the collection2 package, which is maintained in a different repo: https://github.com/Meteor-Community-Packages/meteor-collection2/blob/master/package/collection2/collection2.js#L479

Please submit an issue on that repo instead.