javascript - 使用 validate.js 添加验证生日以 react 项目

标签 javascript android ios validation react-native

我已阅读这篇文章并在我的应用程序中使用它, article link

我想添加一个日期验证来查看此人是否已超过 18 岁

而且我很难理解如何以及在哪里实现 validate.js 所需的解析和格式化方法。我正在使用 React Native 并按照文章中所述实现了其余的验证。

最佳答案

我使用 moment.js 进行生日验证

import moment from 'moment';

export const isOverEighteen = (date) => {
  var eighteenYearsAgo = moment().subtract(18, "years");
  var birthday = moment(date);

  if (!birthday.isValid()) {
    return "invalid date";
  }
  else if (!eighteenYearsAgo.isAfter(birthday)) {
    return "To successfully open an account you have to be at least 18 years old.";
  }

  return;
};

这是我为生日验证而制作的函数,要在某些组件中使用它,只需导入它并使用即可。如果没有返回错误,则用户已年满 18 岁,否则将在该返回语句中返回一些错误。

编辑:我这样使用它。 creted utils 文件夹和 validateAge.js 内部(里面是上面的代码) 在验证年龄的表单中,您可以导入该函数

import { isOverEighteen } from 'here-goes-your-path/utils/validateAge';

并像这样使用来设置 dateOfBirth 的错误(在我的例子中是属性名称)

errors.dateOfBirth = isOverEighteen(values.dateOfBirth);

关于javascript - 使用 validate.js 添加验证生日以 react 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48164669/

相关文章:

java - 为什么 onResume() 似乎被调用了两次?

java - 如何获取数组的最小值、最大值?

ios - NSLayoutManager 每段有一个 NSTextContainer

javascript - 如何在点击不同的 div 时切换 div?

javascript - 传递的参数 'guard' 在 underscore.js 函数中检查什么?

javascript - 在 ember 中访问 Controller 或 View 的实例

java - 如何使工作 HttpResponse 更快?

ios - CoreBluetooth 有时无法检测到 CBPeripheral,除非访问控制中心/通知中心

ios - 如何在整个应用程序的生命周期中只运行一次数据?

javascript - 在div vs textarea中保留数组中的新行