我正在尝试使用 Bootstrap 在 React 中构建一个表单。我有两个日期(一个是你开始工作的时间,另一个是你结束公司工作的时间),第二个不应该在第一个之前。所以如果第一个是 10.1.2020,你应该不能在第二个中选择这个日期之前的日期。
作为一个反应应用程序,我也给你一个链接:https://codesandbox.io/s/friendly-worker-nwtgu ?file=/package.json
我感兴趣的代码在这些组件中:Practical 和 PracticalForm。
表格代码:
<Form.Group controlId="formBasicDateFrom">
<Form.Label>Worked from</Form.Label>
<Form.Control
onChange={(e) => {
checkDate(e);
handleChange(e);
}}
type="date"
defaultValue={dateFrom}
name="dateFrom"
required
/>
</Form.Group>
<Form.Group controlId="formBasicDateUntil">
<Form.Label>Worked to</Form.Label>
<Form.Control
isInvalid={validate}
onChange={(e) => {
checkDate(e);
handleChange(e);
}}
// onChange={(e) => {
// handleChange(e);
// checkDate();
// }}
type="date"
defaultValue={dateTo}
name="dateTo"
required
/>
<Form.Control.Feedback type="invalid">
Date must be later then date from when you worked...
</Form.Control.Feedback>
</Form.Group>
我验证的函数现在看起来像这样:
checkDate = (event) => {
let d1 = new Date(this.state.dateFrom);
let d2 = new Date(this.state.dateTo);
if (d1.getTime() > d2.getTime()) {
this.setState({
validate: false,
});
} else {
this.setState({
validate: true,
});
}
console.log(d1.getTime());
console.log(d2.getTime());
console.log(this.state.validate);
};
心有法竹
相关分类