1

我尝试添加年份范围验证,它必须在 1850 年到当前年份之间。我试过了,但它不工作。

这是我尝试过的代码

  String validateestablishedyear(String value) {
    var date = new DateTime.now();
    int currentYear = date.year;
    int userinputValue = 0;
    print('currentYear = $currentYear');
    print('input value = $value');
    print('value = ${value is int}');
    print('value = ${value is String}');

    if (value is String && value.length == 0) {
      return "Established Year is Required";
    } else {
      userinputValue = int.parse(value);
    }

    if (userinputValue < 1850 && userinputValue >= currentYear) {
      return "Year must be between 1850 and $currentYear";
    }
    return null;
  }
4

1 回答 1

2

只需如下更改您的代码,

if (userinputValue < 1850 || userinputValue >= currentYear) {
  return "Year must be between 1850 and $currentYear";
}

你的逻辑是错误的。你应该使用|| 而不是&&

于 2019-10-11T13:02:02.610 回答