spectrum field working again
This commit is contained in:
		@@ -11,7 +11,8 @@ export default class SampleValidate {
 | 
			
		||||
      .max(128),
 | 
			
		||||
 | 
			
		||||
    color: Joi.string()
 | 
			
		||||
      .max(128),
 | 
			
		||||
      .max(128)
 | 
			
		||||
      .allow(''),
 | 
			
		||||
 | 
			
		||||
    type: Joi.string()
 | 
			
		||||
      .max(128),
 | 
			
		||||
@@ -77,7 +78,7 @@ export default class SampleValidate {
 | 
			
		||||
    'user_id',
 | 
			
		||||
    'material._id',
 | 
			
		||||
    'material.numbers',
 | 
			
		||||
    'measurements.spectrum'
 | 
			
		||||
    'measurements.spectrum.dpt'
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  static input (data, param) {  // validate input, set param to 'new' to make all attributes required
 | 
			
		||||
@@ -170,6 +171,33 @@ export default class SampleValidate {
 | 
			
		||||
      try {
 | 
			
		||||
        for (let i in data.filters) {
 | 
			
		||||
          data.filters[i] = JSON.parse(data.filters[i]);
 | 
			
		||||
          data.filters[i].values = data.filters[i].values.map(e => {  // validate filter values
 | 
			
		||||
            let validator;
 | 
			
		||||
            let field = data.filters[i].field
 | 
			
		||||
            if (/material\./.test(field)) {  // select right validation model
 | 
			
		||||
              validator = MaterialValidate.outputV();
 | 
			
		||||
              field = field.replace('material.', '');
 | 
			
		||||
            }
 | 
			
		||||
            else if (/measurements\./.test(field)) {
 | 
			
		||||
              validator = Joi.object({
 | 
			
		||||
                value: Joi.alternatives()
 | 
			
		||||
                  .try(
 | 
			
		||||
                    Joi.string().max(128),
 | 
			
		||||
                    Joi.number(),
 | 
			
		||||
                    Joi.boolean(),
 | 
			
		||||
                    Joi.array()
 | 
			
		||||
                  )
 | 
			
		||||
                  .allow(null)
 | 
			
		||||
              });
 | 
			
		||||
              field = 'value';
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
              validator = Joi.object(this.sample);
 | 
			
		||||
            }
 | 
			
		||||
            const {value, error} = validator.validate({[field]: e});
 | 
			
		||||
            if (error) throw error;  // reject invalid values
 | 
			
		||||
            return value[field];
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      catch {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user