[proofplan]
We use the standard determinantal characterization of rank: the rank of a matrix is the largest size of a square submatrix with nonzero determinant. First, if $\operatorname{rank}(A)\le r$, then a nonzero $(r+1)\times(r+1)$ minor would force rank at least $r+1$, a contradiction. Conversely, if all $(r+1)\times(r+1)$ minors vanish but the rank were larger than $r$, the same characterization would produce a nonzero $(r+1)\times(r+1)$ minor. The endpoint case $r=\min\{m,n\}$ is included by the usual vacuous interpretation of a universal statement over nonexistent larger minors.
[/proofplan]
[step:Introduce the minor notation and the rank characterization]
For an integer $q$ with $1\le q\le \min\{m,n\}$, let $I=\{i_1,\dots,i_q\}\subseteq \{1,\dots,m\}$ and $J=\{j_1,\dots,j_q\}\subseteq \{1,\dots,n\}$ be subsets written in increasing order. Define the corresponding $q\times q$ submatrix $A_{I,J}\in M_q(k)$ by
\begin{align*}
(A_{I,J})_{ab}=A_{i_a j_b}
\end{align*}
for all $1\le a,b\le q$. The determinant $\det(A_{I,J})\in k$ is called the $q\times q$ minor of $A$ determined by $I$ and $J$.
We use the standard rank-minor characterization: for every matrix $B\in M_{m\times n}(k)$,
\begin{align*}
\operatorname{rank}(B)=\max\{q\in\mathbb{N}: q\le \min\{m,n\}\text{ and }B\text{ has a nonzero }q\times q\text{ minor}\},
\end{align*}
with the convention that the maximum is $0$ when all entries of $B$ are zero.
[guided]
We first fix the precise meaning of the minors in the statement. If $q$ is an integer satisfying $1\le q\le \min\{m,n\}$, choose row indices $I=\{i_1,\dots,i_q\}\subseteq \{1,\dots,m\}$ and column indices $J=\{j_1,\dots,j_q\}\subseteq \{1,\dots,n\}$, both listed in increasing order. The selected square submatrix $A_{I,J}\in M_q(k)$ is defined entry by entry by
\begin{align*}
(A_{I,J})_{ab}=A_{i_a j_b}
\end{align*}
for $1\le a,b\le q$. Its determinant $\det(A_{I,J})$ is the corresponding $q\times q$ minor.
The proof rests on the standard rank-minor characterization. It says that the rank of a matrix is exactly the largest size of a square submatrix whose determinant is nonzero. In symbols, for each matrix $B\in M_{m\times n}(k)$,
\begin{align*}
\operatorname{rank}(B)=\max\{q\in\mathbb{N}: q\le \min\{m,n\}\text{ and }B\text{ has a nonzero }q\times q\text{ minor}\}.
\end{align*}
If no positive-size nonzero minor exists, then all entries of $B$ are zero and the maximum is understood to be $0$. This characterization is the bridge between the linear-algebraic condition $\operatorname{rank}(A)\le r$ and the determinantal condition that all minors of size $r+1$ vanish.
[/guided]
[/step]
[step:Derive vanishing of all $(r+1)\times(r+1)$ minors from the rank bound]
Assume $\operatorname{rank}(A)\le r$. If $r=\min\{m,n\}$, then there is no $(r+1)\times(r+1)$ submatrix of $A$, so the assertion that every such minor is zero is vacuously true.
Now assume $r<\min\{m,n\}$. Let $I\subseteq \{1,\dots,m\}$ and $J\subseteq \{1,\dots,n\}$ satisfy $|I|=|J|=r+1$. If $\det(A_{I,J})\ne 0_k$, then the rank-minor characterization applied to $A$ gives
\begin{align*}
\operatorname{rank}(A)\ge r+1.
\end{align*}
This contradicts $\operatorname{rank}(A)\le r$. Hence $\det(A_{I,J})=0_k$ for every such pair $(I,J)$.
[/step]
[step:Derive the rank bound from vanishing of all $(r+1)\times(r+1)$ minors]
Assume every $(r+1)\times(r+1)$ minor of $A$ is equal to $0_k$. If $r=\min\{m,n\}$, then the general bound
\begin{align*}
\operatorname{rank}(A)\le \min\{m,n\}=r
\end{align*}
gives the desired conclusion.
Now assume $r<\min\{m,n\}$. Suppose, for contradiction, that $\operatorname{rank}(A)>r$. Since rank is an integer, this means $\operatorname{rank}(A)\ge r+1$. By the rank-minor characterization, $A$ has a nonzero $q\times q$ minor for some integer $q\ge r+1$. Choosing any $(r+1)\times(r+1)$ nonsingular square submatrix inside that nonzero-rank submatrix equivalently gives, by the same characterization restricted to the selected rows and columns, a nonzero $(r+1)\times(r+1)$ minor of $A$. This contradicts the hypothesis that every $(r+1)\times(r+1)$ minor vanishes. Therefore $\operatorname{rank}(A)\le r$.
[/step]
[step:Combine the two implications]
The previous two steps prove both implications:
\begin{align*}
\operatorname{rank}(A)\le r \implies \text{every }(r+1)\times(r+1)\text{ minor of }A\text{ is }0_k
\end{align*}
and
\begin{align*}
\text{every }(r+1)\times(r+1)\text{ minor of }A\text{ is }0_k \implies \operatorname{rank}(A)\le r.
\end{align*}
Thus $\operatorname{rank}(A)\le r$ holds if and only if every $(r+1)\times(r+1)$ minor of $A$ is zero.
[/step]