W React Hook Form można ręcznie ustawić błąd walidacji dla określonej kontrolki formularza za pomocą metody setError. Ta metoda jest dostępna z obiektu, który jest zwrócony przez funkcję useController i umożliwia programowe ustawienie błędu dla określonej kontrolki formularza.
Oto przykład:
import { useController } from "react-hook-form";
const MyForm = () => {
const { register, handleSubmit, setError } = useController({
defaultValues: {
customField: "",
},
});
const validateForm = (data) => {
if (!data.customField) {
setError("customField", {
type: "manual",
message: "This field is required",
});
}
};
const onSubmit = (data) => {
validateForm(data);
console.log(data);
};
return (
);
};
W powyższym przykładzie funkcja validateForm jest wywoływana przed wysłaniem formularza i sprawdza, czy pole customField jest wypełnione. W razie potrzeby można ustawić błąd dla tego pola za pomocą metody setError.