fieldName = $fieldName; } public function getFieldName(): string { return $this->fieldName; } public static function invalidChars(string $fieldName): FieldValidationFail { return new FieldValidationFail($fieldName, "field contains illegal chars"); } public static function empty(string $fieldName): FieldValidationFail { return new FieldValidationFail($fieldName, "field is empty"); } public static function missing(string $fieldName): FieldValidationFail { return new FieldValidationFail($fieldName, "field is missing"); } public function jsonSerialize() { return ["field" => $this->fieldName, "message" => $this->getMessage()]; } }