Flutter: валидатор текстового поля не работает - PullRequest
0 голосов
/ 22 октября 2019

Я использую TextFormField во флаттере. я хочу проверить TextFormField, это значение должно быть меньше 100, или это должен быть символ 'a' один

Я пытался

validator: (value) {
                  if (value.length == 0  ) {
                    return ('value is required!');
                  }
                  else if(value != "a"  || value != "A" || int.parse(value) < 0.0 || int.parse(value) > 100  )
                    {
                      return ('value should between 0 to 100 if absent put "A"!');
                    }
                },

Но это не работает. Любой, пожалуйста, помогите мне. Заранее спасибо

С уважением, Сатиш

1 Ответ

1 голос
/ 22 октября 2019

Не забудьте вернуть ноль, когда валидатор не должен отображать ошибку.

    if (value.isEmpty) return 'value is required';
    if (value.toLowerCase() == 'a') return null;

    var intValue = int.tryParse(value);
    if (intValue == null) { // not a number
      return 'value should be between 0-100 if absent put A';
    } else {
      return intValue > 100 ? 'value should be between 0-100' : null;
    }
...