// 修改密码格式校验 import 'package:flutter/material.dart'; import '../../l10n/app_localizations.dart'; bool isValidPassword(String value) { final reg = RegExp( r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]{8,16}$', ); return reg.hasMatch(value); } String? validateForm({ required BuildContext context, // 添加 context 参数 required String phone, required String code, required String password, required String confirmPassword, }) { final l10n = AppLocalizations.of(context)!; if (phone.isEmpty) return l10n.phoneNumberRequired; if (!RegExp(r'^1\d{10}$').hasMatch(phone)) { return l10n.phoneNumberInvalid; } if (code.isEmpty) return l10n.smsCodeRequired; if (!RegExp(r'^\d{4}$').hasMatch(code)) { return l10n.smsCodeInvalid; } if (password.isEmpty) return l10n.newPasswordRequired; if (!isValidPassword(password)) { return l10n.passwordFormatError; } if (confirmPassword.isEmpty) return l10n.confirmPasswordRequired; if (password != confirmPassword) { return l10n.confirmPasswordError; } return null; }