Move metadata form value validation to .clean() and update field data may not be available yet when validatng the value field. Only validate form value if form has a metadata type associated.
This commit is contained in:
@@ -79,12 +79,15 @@ class MetadataForm(forms.Form):
|
||||
attrs={'readonly': 'readonly'}
|
||||
)
|
||||
|
||||
def clean_value(self):
|
||||
if self.cleaned_data.get('update'):
|
||||
return self.metadata_type.validate_value(
|
||||
document_type=self.document_type, value=self.cleaned_data['value']
|
||||
def clean(self):
|
||||
if self.cleaned_data.get('update') and hasattr(self, 'metadata_type'):
|
||||
self.cleaned_data['value'] = self.metadata_type.validate_value(
|
||||
document_type=self.document_type,
|
||||
value=self.cleaned_data.get('value')
|
||||
)
|
||||
|
||||
return self.cleaned_data
|
||||
|
||||
|
||||
MetadataFormSet = formset_factory(MetadataForm, extra=0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user