antd Form表单自定义表单校验报错[object,object]问题解决
//表单提交方法
//报错写法
const onOk = () => {
form.validateFields().then(async (result) => {
})};
<Form
form={form}
name="normal_login"
onFinsh={onOk}
title="新增除名员工"
style={{ marginTop: "20px" }}
>
<Form.Item
{...restField}
label="考核比例(%)"
name={[name, "proportion"]}
validateTrigger="onBlur"
rules={[{validator: formValidateGene("positiveInt","请输入大于0的正整数")}]}
>
<Input
type="number"
placeholder="请输入考核比例(数字)"
/>
</Form.Item>
</form>
//修改--之后
const onOk = () => {
form.validateFields().then(async (result) => {
}).catch((errorInfo) => {});
}
form表单List
<Form.List name="proportionList" initialValue={initialValue}>
{(fields, { add, remove }) => (
<>
{fields.map(({ key, name, ...restField }) => (
<Space
key={key}
style={{
display: "flex",
marginBottom: 4,
width: "100%",
justifyContent: "space-between",
paddingLeft: "17px",
}}
align="baseline"
>
<Form.Item
{...restField}
label="考核类型"
name={[name, "typeId"]}
rules={[{ required: true, message: "请选择考核类型" }]}
>
<Select
placeholder="请选择考核类型"
options={examSelectList}
style={{ width: "183px" }}
allowClear
/>
</Form.Item>
<Form.Item
{...restField}
label="考试限时"
name={[name, "limitedTime"]}
rules={[{ required: true, message: "请选择考试限时" }]}
>
<Input placeholder="请选择考试限时" />
</Form.Item>
<Form.Item
{...restField}
label="考核比例(%)"
name={[name, "proportion"]}
validateTrigger="onBlur"
rules={[{validator: formValidateGene("positiveInt","请输入大于0的正整数")}]}
>
<Input
type="number"
placeholder="请输入考核比例(数字)"
/>
</Form.Item>
{fields.length < 4 && (
<PlusCircleOutlined onClick={() => add()} />
)}
{fields.length > 1 && (
<MinusCircleOutlined onClick={() => remove(name)} />
)}
</Space>
))}
</>
)}
</Form.List>