So for a matrix $A$, we have that it's nullspace is spanned by the columns of $(1-A^+A)$ where $A^+$ is the pseudo inverse of $A$. I am pretty sure the projection of a vector $v$ onto the nullspace of $A$ is then given by
$$Proj(v)=(1-A^+A)v$$
since the remaining component of $v$ is given by $[v-Proj(v)]=A^+Av$ which is perpendicular to the column space of $(1-A^+A)$ which means it is perpendicular to the nullspace of $A$.
If this is true, then the $Proj(v)$ given should have the minimum norm error with $v$ when considering all possible vectors in the nullspace of $A$. But, we can also find the nullspace vector with minimum norm error using the properties of the pseudo inverse, with
$$\min_{x\in Null(A)}|| x-v||^2=\min_{c}||(1-A^+A)c-v||^2$$
Which using the least squares property of the pseudo inverse gives the minimizing norm error nullspace vector as
$$x=(1-A^+A)(1-A^+A)^+v$$
This is different from $Proj(v)$ given before, so I was wondering is the first $Proj(v)$ incorrect?