The following code works fine in a doctype but not in a web form. This is because the attached_to_doctype
and attached_to_field
values are not populated when uploading through the web form.
def validate_file_type(doc, method):
if doc.attached_to_doctype == 'Test Form':
if doc.attached_to_field in ["photograph", "signature"]:
if not doc.file_name.lower().endswith(".jpg") or not doc.file_name.lower().endswith(".jpeg"):
frappe.throw("Only <b>JPG/JPEG</b> file Allowed")
else:
if not doc.file_name.lower().endswith(".pdf"):
frappe.throw("Only <b>PDF</b> file Allowed")
Requirement:
- For fields like
photograph
andsignature
, the uploaded file should always be in JPG/JPEG format. - For all other attach fields, only PDF files should be allowed.
How can I achieve this validation for my web form where attached_to_doctype
and attached_to_field
are not available during file upload?