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'}
|
attrs={'readonly': 'readonly'}
|
||||||
)
|
)
|
||||||
|
|
||||||
def clean_value(self):
|
def clean(self):
|
||||||
if self.cleaned_data.get('update'):
|
if self.cleaned_data.get('update') and hasattr(self, 'metadata_type'):
|
||||||
return self.metadata_type.validate_value(
|
self.cleaned_data['value'] = self.metadata_type.validate_value(
|
||||||
document_type=self.document_type, value=self.cleaned_data['value']
|
document_type=self.document_type,
|
||||||
|
value=self.cleaned_data.get('value')
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return self.cleaned_data
|
||||||
|
|
||||||
|
|
||||||
MetadataFormSet = formset_factory(MetadataForm, extra=0)
|
MetadataFormSet = formset_factory(MetadataForm, extra=0)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user