Разрешить только нижний регистр без пробелов - PullRequest
0 голосов
/ 24 марта 2020

Итак, я создаю приложение для чата и хочу, чтобы пользователь отправлял имя пользователя, которое не должно быть заглавным и должно содержать пробел, я могу принять имя и изменить его позже в измененной функции, но я хочу, чтобы пользователь также знал это

Ответы [ 3 ]

1 голос
/ 24 марта 2020

Вы можете использовать Form, а затем уведомить пользователя с помощью поля ошибки (Validator)

TextFormField(
                    validator: (name) {
                      Pattern pattern = r'^[a-z]+$'; // Regex for lowercase only
                      RegExp regex = new RegExp(pattern);
                      if (!regex.hasMatch(name))
                        return 'Username must be lowercase, this will be changed when saved';
                      else
                        return null;
                    },
                  ),
                  FlatButton(
                    child: Text('Save'),
                    onPressed: () {
                      _formKey.currentState.validate(); // just check if its valid and notify user
                      // Other code to save the and change the value
                      print('Saving Username');

                    },
                  )

Пример Dart Pad

0 голосов
/ 24 марта 2020

вы можете использовать средство форматирования текста с регулярным выражением, чтобы включить только нижний регистр

TextField(
 inputFormatters: <TextInputFormatter>[
  WhitelistingTextInputFormatter(RegExp("[a-z]")),
 ],
)

вы можете использовать их в качестве ссылки, если это достаточно ясно: Ref1 , Ref2 .

0 голосов
/ 24 марта 2020

Что касается изменения текста, попробуйте сделать следующее:

Допустим, 's' - это имя пользователя:

String s = ""
onChange(val) {
  s = val.trim().toLowerCase()
}

Если вы хотите уведомить пользователя, возможно, используйте диалоговое окно оповещения с текстом, сообщающее им, что имя пользователя не должно быть заглавными и не должно содержать пробелов. Несмотря на это, вы не можете предполагать, что пользователь будет соответствовать тому, что он "должен делать".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...