I would do it with DynamicModule:
DynamicModule[{p = {-1, -1}, q = {2, 2}},
Row[{LocatorPane[Dynamic[{p, q}],
Graphics[{Gray, Dynamic@Rectangle[p, q]},
PlotRange -> {{-2, 5}, {-2, 5}}, Frame -> True]],
Dynamic@
With[{xmin = p[[1]], xmax = q[[1]], ymin = p[[2]],
ymax = q[[2]]},
ParametricPlot3D[f[u, v], {u, xmin, xmax}, {v, ymin, ymax}]]}]]