added required parameter range
This commit is contained in:
		| @@ -239,12 +239,12 @@ export class SampleComponent implements OnInit, AfterContentChecked { | |||||||
|       this.samples.forEach((gSample, gIndex) => { |       this.samples.forEach((gSample, gIndex) => { | ||||||
|         if (this.d.id.conditionTemplates[gSample.condition.condition_template]) { |         if (this.d.id.conditionTemplates[gSample.condition.condition_template]) { | ||||||
|           this.d.id.conditionTemplates[gSample.condition.condition_template].parameters.forEach((parameter, pIndex) => { |           this.d.id.conditionTemplates[gSample.condition.condition_template].parameters.forEach((parameter, pIndex) => { | ||||||
|             this.attachValidator(this.cmForm, `conditionParameter-${gIndex}-${pIndex}`, parameter.range, true); |             this.attachValidator(this.cmForm, `conditionParameter-${gIndex}-${pIndex}`, parameter.range); | ||||||
|           }); |           }); | ||||||
|         } |         } | ||||||
|         gSample.measurements.forEach((measurement, mIndex) => { |         gSample.measurements.forEach((measurement, mIndex) => { | ||||||
|           this.d.id.measurementTemplates[measurement.measurement_template].parameters.forEach((parameter, pIndex) => { |           this.d.id.measurementTemplates[measurement.measurement_template].parameters.forEach((parameter, pIndex) => { | ||||||
|             this.attachValidator(this.cmForm, `measurementParameter-${gIndex}-${mIndex}-${pIndex}`, parameter.range, false); |             this.attachValidator(this.cmForm, `measurementParameter-${gIndex}-${mIndex}-${pIndex}`, parameter.range); | ||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|       }); |       }); | ||||||
| @@ -252,7 +252,7 @@ export class SampleComponent implements OnInit, AfterContentChecked { | |||||||
|  |  | ||||||
|     if (this.sampleForm && this.material.properties.material_template) {  // material template is set |     if (this.sampleForm && this.material.properties.material_template) {  // material template is set | ||||||
|       this.d.id.materialTemplates[this.material.properties.material_template].parameters.forEach((parameter, i) => { |       this.d.id.materialTemplates[this.material.properties.material_template].parameters.forEach((parameter, i) => { | ||||||
|         this.attachValidator(this.sampleForm, 'materialParameter' + i, parameter.range, true); |         this.attachValidator(this.sampleForm, 'materialParameter' + i, parameter.range); | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -288,10 +288,10 @@ export class SampleComponent implements OnInit, AfterContentChecked { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   // attach validators specified in range to input with name |   // attach validators specified in range to input with name | ||||||
|   attachValidator(form, name: string, range: {[prop: string]: any}, required: boolean) { |   attachValidator(form, name: string, range: {[prop: string]: any}) { | ||||||
|     if (form && form.form.get(name)) { |     if (form && form.form.get(name)) { | ||||||
|       const validators = []; |       const validators = []; | ||||||
|       if (required) { |       if (range.hasOwnProperty('required')) { | ||||||
|         validators.push(Validators.required); |         validators.push(Validators.required); | ||||||
|       } |       } | ||||||
|       if (range.hasOwnProperty('values')) { |       if (range.hasOwnProperty('values')) { | ||||||
|   | |||||||
| @@ -153,13 +153,12 @@ export class ValidationService { | |||||||
|           max: Joi.number(), |           max: Joi.number(), | ||||||
|  |  | ||||||
|           type: Joi.string() |           type: Joi.string() | ||||||
|             .valid('array') |             .valid('string', 'number', 'boolean', 'array'), | ||||||
|  |  | ||||||
|  |           required: Joi.boolean() | ||||||
|         }) |         }) | ||||||
|           .oxor('values', 'min') |           .oxor('values', 'min') | ||||||
|           .oxor('values', 'max') |           .oxor('values', 'max') | ||||||
|           .oxor('type', 'values') |  | ||||||
|           .oxor('type', 'min') |  | ||||||
|           .oxor('type', 'max') |  | ||||||
|           .required() |           .required() | ||||||
|           .validate(JSON.parse(data)); |           .validate(JSON.parse(data)); | ||||||
|         if (error) { |         if (error) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 VLE2FE
					VLE2FE