如何在電子郵件地址中 @ 之后驗證電子郵件?如果用戶只輸入“username@”,我需要顯示錯誤。
String emailValidator(String email, BuildContext context) {
if (email == null || email.length == 0) {
return AppLocalizations.of(context).translate('validators.requiredField');
}
if (email == null || !email.contains("@")) {
return AppLocalizations.of(context).translate('validators.invalidEmail');
}
return null;
}
uj5u.com熱心網友回復:
我認為正則運算式將是最好的選擇。為這個簡單的任務添加一個包對我來說似乎太多了。
這個問題在這里已經回答了很多次了
表達方式:
bool emailValid = RegExp(r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'* -/=?^_`{|}~] @[a-zA-Z0-9] \.[a-zA-Z] ").hasMatch(email);
uj5u.com熱心網友回復:
您可以使用正則運算式
在 String 上創建擴展
extension RegexExt on String {
bool validateEmail() => RegExp(
r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'* -/=?^_`{|}~] @[a-zA-Z0-9] \.[a-zA-Z] ")
.hasMatch(this);
}
用法
String emailValidator(String email, BuildContext context) {
if (email == null || email.length == 0) {
return AppLocalizations.of(context).translate('validators.requiredField');
}
return email.validateEmail() ? null : AppLocalizations.of(context).translate('validators.invalidEmail');
}
uj5u.com熱心網友回復:
使用flutter的email_validator包
Container(
margin: EdgeInsets.only(top: 20),
child: Form(
autovalidateMode:AutovalidateMode.always,
child:TextFormField(
style: GoogleFonts.montserrat(color: Colors.black,fontSize: 15),
decoration: InputDecoration(
prefixIcon: Icon(Icons.email_outlined,color: Colors.black,),
border: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.black)
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.black)
),
label: Text('EMAIL'),
labelStyle: TextStyle(color: Colors.grey,fontWeight: FontWeight.w400)
),
keyboardType: TextInputType.emailAddress,
validator: (value)=>EmailValidator.validate(value!) ? null : "Please enter a valid email",
controller: emailController,
),
)
),
email_validator 將電子郵件作為輸入,如果電子郵件是 validate 或 false,則回傳 true 我已將其與 textfield 一起使用,您也可以嘗試
String email = '[email protected]';
bool isValid = EmailValidator.validate(email);
print('Email is valid? ' (isValid ? 'yes' : 'no'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494762.html
