3

我正在使用这个反应输入掩码

输入掩码用于用户的出生日期。这可行,但是,我遇到的问题是用户可以输入54/54/2017输入框。我想防止这种情况。我可以做到这一点的一种方法是0在第一个输入之前输入 a if less than 10。但是,如果是,则12首先放置 0。

有谁知道我可以解决这个问题的方法吗?

我的代码如下:

import InputMask from 'react-input-mask';

class Date extends Component {

  constructor(props) {
    this.state = {
        date_of_birth: ''   
    };
    this.handleDateOfBirth = this.handleDateOfBirth.bind(this);   

  }

  handleDateOfBirth(e) {

    this.setState({
      date_of_birth: e.target.value
    });

    }


  render() {
    const = {this.state};
    return <InputMask value={date_of_birth} mask="99/99/9999" onChange={this.handleDateOfBirth} />;
  }

}
4

1 回答 1

0

在设置日期值之前,您最好尝试解析日期对象中的字符串,例如

var valid_date = new Date(e.target.value)

如果您使用此响应的日期无效,这将返回“无效日期”响应,您可以放置​​一个 if 条件并阻止进一步的操作

希望这可以帮助 :)

于 2017-03-31T14:21:51.027 回答