validation function for Stage QC means QC Done fileupload field not empty on Save

validation function for Stage QC means QC Done fileupload field not empty on Save

 validation function for Stage QC means QC Done  field field not empty  . if the fileupload  has value also it showing the false statement  on save
how i fix this
Also one more concern is Custom validation function work on blue print transaction.

///this is the validation function code

map validation_rule.ZohoTest(String crmAPIRequest)
{
entityMap = crmAPIRequest.toMap().get("record");
stage = entityMap.get("Stage");
done = entityMap.get("QC_Done");


response = Map();
if(stage == "QC")
{
if(done.isNull() == True)
{
response.put('status','failure');
response.put('message',"QC Done field cannot be empty when Stage is QC.");
}
else
{
response.put('status','success');
}
}
else
{
response.put('status','success');
}
return response;
}