Merge pull request #309 from astubenbord/fix/305-bug-server-url-validation-misses-scheme-validation

Fix/305 bug server url validation misses scheme validation
This commit is contained in:
Anton Stubenbord
2023-11-18 19:38:10 +01:00
committed by GitHub
3 changed files with 16 additions and 13 deletions

View File

@@ -1 +1,2 @@
* Neue Einstellung um Animationen zu deaktivieren
* Neue Einstellung um Animationen zu deaktivieren
* Verbesserte Validierung von Server-Adressen

View File

@@ -1 +1,2 @@
* Add setting to disable animations
* Add setting to disable animations
* Improved server-address validation

View File

@@ -42,15 +42,6 @@ class _ServerAddressFormFieldState extends State<ServerAddressFormField> {
initialValue: widget.initialValue,
name: ServerAddressFormField.fkServerAddress,
autovalidateMode: AutovalidateMode.onUserInteraction,
validator: (value) {
if (value?.trim().isEmpty ?? true) {
return S.of(context)!.serverAddressMustNotBeEmpty;
}
if (!RegExp(r"https?://.*").hasMatch(value!)) {
return S.of(context)!.serverAddressMustIncludeAScheme;
}
return null;
},
builder: (field) {
return RawAutocomplete<String>(
focusNode: _focusNode,
@@ -74,7 +65,7 @@ class _ServerAddressFormFieldState extends State<ServerAddressFormField> {
},
fieldViewBuilder:
(context, textEditingController, focusNode, onFieldSubmitted) {
return TextField(
return TextFormField(
controller: textEditingController,
focusNode: focusNode,
decoration: InputDecoration(
@@ -93,10 +84,20 @@ class _ServerAddressFormFieldState extends State<ServerAddressFormField> {
: null,
),
autofocus: false,
onSubmitted: (_) {
onFieldSubmitted: (_) {
onFieldSubmitted();
_formatInput();
},
autovalidateMode: AutovalidateMode.onUserInteraction,
validator: (value) {
if (value?.trim().isEmpty ?? true) {
return S.of(context)!.serverAddressMustNotBeEmpty;
}
if (!RegExp(r"^https?://.*").hasMatch(value!)) {
return S.of(context)!.serverAddressMustIncludeAScheme;
}
return null;
},
keyboardType: TextInputType.url,
onChanged: (value) {
field.didChange(value);