【发布时间】:2021-12-16 17:21:23
【问题描述】:
唯一的规则是,如果没有选中任何复选框,则提交时必须显示如上的警告消息,如果选中任何一个,则不会发出警告。
我的代码:
<Form.Item
name="checkboxes"
valuePropName="checked"
rules={[
{
required: true,
message: "Please select atleast one working day",
},
]}
>
<Checkbox onChange={this.sun}>Sun</Checkbox>
<Checkbox onChange={this.mon}>Mon</Checkbox>
<Checkbox onChange={this.tue}>Tue</Checkbox>
<Checkbox onChange={this.wed}>Wed</Checkbox>
<Checkbox onChange={this.thu}>Thu</Checkbox>
<Checkbox onChange={this.fri}>Fri</Checkbox>
<Checkbox onChange={this.sat}>Sat</Checkbox>
</Form.Item>
在上面的代码中,即使单击任何一个复选框,它也会显示警告。
所以,我厌倦了将规则更改为,
rules={[
{
required:
this.state.mon &&
this.state.tue &&
this.state.wed &&
this.state.thu &&
this.state.fri &&
this.state.sat &&
this.state.sun === false,
message: "Please select atleast one working day",
},
但在上述情况下,如果没有选中任何复选框,它甚至不会显示任何警告消息。
我在 UI 中使用 antd,复选框是从中导入的。 (参考:https://ant.design/components/checkbox/)
【问题讨论】: