diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 4ab490b9..e089766f 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -44,8 +44,8 @@ 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 6436409227A31CD800820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; - 6436409127A31CDB00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 6436409727A31CDC00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; + 6436409027A31CD400820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ @@ -225,8 +225,8 @@ 6436409C27A31CD800820AF7 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - 6436409227A31CD800820AF7 /* pt */, - 6436409127A31CDB00820AF7 /* en */, + 6436409727A31CDC00820AF7 /* pt */, + 6436409027A31CD400820AF7 /* en */, ); name = InfoPlist.strings; sourceTree = ""; diff --git a/lib/components/templates_components/sign_up_template_component/sign_up_template_component_model.dart b/lib/components/templates_components/sign_up_template_component/sign_up_template_component_model.dart index bbcd4725..370ff262 100644 --- a/lib/components/templates_components/sign_up_template_component/sign_up_template_component_model.dart +++ b/lib/components/templates_components/sign_up_template_component/sign_up_template_component_model.dart @@ -21,9 +21,6 @@ class SignUpTemplateComponentModel ); } - if (!RegExp(kTextValidatorUsernameRegex).hasMatch(val)) { - return 'Must start with a letter and can only contain letters, digits and - or _.'; - } return null; } @@ -41,7 +38,9 @@ class SignUpTemplateComponentModel } if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) { - return 'Has to be a valid email address.'; + return FFLocalizations.of(context).getText( + 'vobnktrz' /* Insira um email valido. */, + ); } return null; } @@ -60,6 +59,12 @@ class SignUpTemplateComponentModel ); } + if (val.length < 8) { + return FFLocalizations.of(context).getText( + 'duq5gpp6' /* A senha deve ter pelo menos 8 ... */, + ); + } + return null; } diff --git a/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart b/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart index 0d5327b0..7be3e6f7 100644 --- a/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart +++ b/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart @@ -347,8 +347,6 @@ class _SignUpTemplateComponentWidgetState .containsKey( 'Plus Jakarta Sans'), ), - keyboardType: - TextInputType.name, validator: _model .nameRegisterFormTextControllerValidator .asValidator(context), diff --git a/lib/flutter_flow/flutter_flow_drop_down.dart b/lib/flutter_flow/flutter_flow_drop_down.dart index 0e7bc61c..9a784270 100644 --- a/lib/flutter_flow/flutter_flow_drop_down.dart +++ b/lib/flutter_flow/flutter_flow_drop_down.dart @@ -212,12 +212,11 @@ class _FlutterFlowDropDownState extends State> { List> _createMenuItems() => widget.options .map( (option) => DropdownMenuItem( - value: option, - child: Padding( - padding: _useDropdown2() ? horizontalMargin : EdgeInsets.zero, - child: Text(optionLabels[option] ?? '', style: widget.textStyle), - ), - ), + value: option, + child: Padding( + padding: _useDropdown2() ? horizontalMargin : EdgeInsets.zero, + child: Text(optionLabels[option] ?? '', style: widget.textStyle), + )), ) .toList(); @@ -232,37 +231,36 @@ class _FlutterFlowDropDownState extends State> { final isSelected = multiSelectController.value?.contains(item) ?? false; return InkWell( - onTap: () { - multiSelectController.value ??= []; - isSelected - ? multiSelectController.value!.remove(item) - : multiSelectController.value!.add(item); - multiSelectController.update(); - // This rebuilds the StatefulWidget to update the button's text. - setState(() {}); - // This rebuilds the dropdownMenu Widget to update the check mark. - menuSetState(() {}); - }, - child: Container( - height: double.infinity, - padding: horizontalMargin, - child: Row( - children: [ - if (isSelected) - const Icon(Icons.check_box_outlined) - else - const Icon(Icons.check_box_outline_blank), - const SizedBox(width: 16), - Expanded( - child: Text( - optionLabels[item]!, - style: widget.textStyle, + onTap: () { + multiSelectController.value ??= []; + isSelected + ? multiSelectController.value!.remove(item) + : multiSelectController.value!.add(item); + multiSelectController.update(); + // This rebuilds the StatefulWidget to update the button's text. + setState(() {}); + // This rebuilds the dropdownMenu Widget to update the check mark. + menuSetState(() {}); + }, + child: Container( + height: double.infinity, + padding: horizontalMargin, + child: Row( + children: [ + if (isSelected) + const Icon(Icons.check_box_outlined) + else + const Icon(Icons.check_box_outline_blank), + const SizedBox(width: 16), + Expanded( + child: Text( + optionLabels[item]!, + style: widget.textStyle, + ), ), - ), - ], - ), - ), - ); + ], + ), + )); }, ), ), @@ -305,21 +303,19 @@ class _FlutterFlowDropDownState extends State> { : (isMultiSelect ? (_) {} : (val) => widget.controller!.value = val), isExpanded: true, selectedItemBuilder: (context) => widget.options - .map( - (item) => Align( - alignment: AlignmentDirectional.centerStart, - child: Text( - isMultiSelect - ? currentValues - .where((v) => optionLabels.containsKey(v)) - .map((v) => optionLabels[v]) - .join(', ') - : optionLabels[item]!, - style: widget.textStyle, - maxLines: 1, - ), - ), - ) + .map((item) => Align( + alignment: AlignmentDirectional.centerStart, + child: Text( + isMultiSelect + ? currentValues + .where((v) => optionLabels.containsKey(v)) + .map((v) => optionLabels[v]) + .join(', ') + : optionLabels[item]!, + style: widget.textStyle, + maxLines: 1, + ), + )) .toList(), dropdownSearchData: widget.isSearchable ? DropdownSearchData( diff --git a/lib/flutter_flow/internationalization.dart b/lib/flutter_flow/internationalization.dart index fd3f7663..f27adf85 100644 --- a/lib/flutter_flow/internationalization.dart +++ b/lib/flutter_flow/internationalization.dart @@ -933,6 +933,10 @@ final kTranslationsMap = >>[ 'pt': 'Campo é necessário', 'en': 'Field is required', }, + 'vobnktrz': { + 'pt': 'Insira um email valido.', + 'en': '', + }, 'z0bv6wi2': { 'pt': 'Please choose an option from the dropdown', 'en': '', @@ -941,6 +945,10 @@ final kTranslationsMap = >>[ 'pt': 'Campo é necessário', 'en': 'Field is required', }, + 'duq5gpp6': { + 'pt': 'A senha deve ter pelo menos 8 caracteres.', + 'en': '', + }, 'rcikqhf1': { 'pt': 'Please choose an option from the dropdown', 'en': '',