lykmapipo / sails-hook-validation

Custom validation error messages for sails model with i18n support
104 stars 29 forks source link

Think about alternative to sails.config.i18n.requestLocale #34

Open rishabhmhjn opened 8 years ago

rishabhmhjn commented 8 years ago

Using sails.config.i18n.requestLocale = request.getLocale(); is a bad idea!

It assumes that all the requests are processed serially and so, parallel requests will fail to get the correct locale!

https://github.com/lykmapipo/sails-hook-validation/blob/master/index.js#L73

    return {
        //intercent all request and current grab request locale
        routes: {
            before: {
                'all /*': function grabLocale(request, response, next) {
                    //configure i18n current request locale
                    sails.config.i18n.requestLocale = request.getLocale();

                    //continue
                    next();
                }
            }
        },

...
lykmapipo commented 8 years ago

@rishabhmhjn

May you please add a spec/scenario that fail the current implementation. As far as sails hook implementation is concern and regardless of the number request all request will be processed to obtain their locale.

Is it bad idea is attaching locale to a request object?. If so am open for the correct implementation.

rishabhmhjn commented 8 years ago

Got that. Please give me sometime to create an appropriate test for it. Will update you over here

lykmapipo commented 8 years ago

@rishabhmhjn

Thanks.

armellarcier commented 7 years ago

@rishabhmhjn I don't see how you proposition fixes anything. You set a property on a global. The before hook can be called numerous times before you access the requestLocale in the validateCustom function anyway.

I can't think of a way of fixing the problem without a reference to the request in the validateCustom function.