@explita/daily-toolset-form
Version:
A lightweight form toolkit for React built with developer ergonomics in mind. Includes a flexible Form component, useForm, useField, and useFormContext hooks for managing form state and validation with ease. Designed to simplify complex forms while remain
31 lines (30 loc) • 924 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useField = useField;
const useFormContext_1 = require("./useFormContext");
function useField(name) {
var _a;
const form = (0, useFormContext_1.useFormContext)();
if (!form || !name) {
return {
fieldValue: undefined,
fieldError: undefined,
setValue: () => { },
register: () => { },
};
}
return {
// @ts-ignore
fieldValue: form.values[name],
// @ts-ignore
fieldError: (_a = form.errors) === null || _a === void 0 ? void 0 : _a[name],
setValue: (value) => {
// @ts-ignore
form.setValue(name, value);
// @ts-ignore
form.validateValue(name, value !== null && value !== void 0 ? value : "");
},
// @ts-ignore
register: form.register(name),
};
}