fix(#156): superviser nom, e-mail et CP comme à l’inscription.

IdentityBlock editable : capitalisation live, e-mail/CP normalisés
et validés à la perte de focus (aligné création de compte).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-22 19:27:20 +02:00
co-authored by Cursor
parent 471a62ddb7
commit 4ae334b247
3 changed files with 184 additions and 18 deletions
+15 -11
View File
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:p_tits_pas/models/dossier_unifie.dart';
import 'package:p_tits_pas/models/user.dart';
import 'package:p_tits_pas/utils/name_format_utils.dart';
import 'package:p_tits_pas/utils/phone_utils.dart';
import 'package:p_tits_pas/widgets/admin/common/validation_detail_section.dart';
@@ -199,11 +200,17 @@ class IdentityBlock extends StatelessWidget { final String? title;
fields: [
ValidationLabeledField(
label: 'Nom',
field: ValidationEditableField(controller: _nomCtrl!),
field: ValidationEditableField(
controller: _nomCtrl!,
inputFormatters: const [PersonNameInputFormatter()],
),
),
ValidationLabeledField(
label: 'Prénom',
field: ValidationEditableField(controller: _prenomCtrl!),
field: ValidationEditableField(
controller: _prenomCtrl!,
inputFormatters: const [PersonNameInputFormatter()],
),
),
ValidationLabeledField(
label: 'Téléphone',
@@ -215,10 +222,7 @@ class IdentityBlock extends StatelessWidget { final String? title;
),
ValidationLabeledField(
label: 'Email',
field: ValidationEditableField(
controller: _emailCtrl!,
keyboardType: TextInputType.emailAddress,
),
field: ValidationEmailField(controller: _emailCtrl!),
),
ValidationLabeledField(
label: 'Adresse (N° et Rue)',
@@ -226,14 +230,14 @@ class IdentityBlock extends StatelessWidget { final String? title;
),
ValidationLabeledField(
label: 'Code postal',
field: ValidationEditableField(
controller: _cpCtrl!,
keyboardType: TextInputType.number,
),
field: ValidationPostalCodeField(controller: _cpCtrl!),
),
ValidationLabeledField(
label: 'Ville',
field: ValidationEditableField(controller: _villeCtrl!),
field: ValidationEditableField(
controller: _villeCtrl!,
inputFormatters: const [PersonNameInputFormatter()],
),
),
],
);