validate.validate(self.premodel_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'data_append' session
        if self.session_type == 'data_append':
            try:
                validate = Draft4Validator(jsonschema_data_append())
                validate.validate(self.premodel_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'model_generate' session
        if self.session_type == 'model_generate':
            try:
                validate = Draft4Validator(jsonschema_model_generate())
                validate.validate(self.premodel_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'model_predict' session
        elif self.session_type == 'model_predict':
            try:
                validate = Draft4Validator(jsonschema_model_predict())

                int(self.premodel_settings['model_id'])
                for value in self.premodel_settings['prediction_input[]']:
                    float(value)

                validate.validate(self.premodel_settings)
            except Exception, error:
                validate.validate(self.premodel_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'data_append' session
        if self.session_type == 'data_append':
            try:
                validate = Draft4Validator(jsonschema_data_append())
                validate.validate(self.premodel_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'model_generate' session
        if self.session_type == 'model_generate':
            try:
                validate = Draft4Validator(jsonschema_model_generate())
                validate.validate(self.premodel_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'model_predict' session
        elif self.session_type == 'model_predict':
            try:
                validate = Draft4Validator(jsonschema_model_predict())

                int(self.premodel_settings['model_id'])
                for value in self.premodel_settings['prediction_input[]']:
                    float(value)

                validate.validate(self.premodel_settings)
            except Exception, error:
            try:
                Draft4Validator(jsonschema_data_new()).validate(self.svm_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'data_append' session
        if self.svm_session == 'data_append':
            try:
                Draft4Validator(jsonschema_data_append()).validate(self.svm_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'model_generate' session
        if self.svm_session == 'model_generate':
            try:
                Draft4Validator(jsonschema_model_generate()).validate(self.svm_settings)
            except Exception, error:
                list_error.append(str(error))

        # validation on 'model_predict' session
        elif self.svm_session == 'model_predict':
            try:
                Draft4Validator(jsonschema_model_predict()).validate(self.svm_settings)
            except Exception, error:
                list_error.append(str(error))

        # return error
        if len(list_error) > 0:
            return {'status': False, 'error': list_error}
        else:
            return {'status': True, 'error': None}