Tag: email validation

EmailAttribute未在ASP.NET Core的ViewModel中正确validation

这是位于我的viewmodel中的字段: [Required(ErrorMessage = “Email is missing.”), EmailAddress(ErrorMessage = “Email is not valid.”)] public string Email { get; set; } ( EmailAddress来自EmailAddressAttribute.EmailAddressAttribute()类型) 这是HTML的相关部分: EMAIL 当我在电子邮件文本框中输入myemail时,它会说 电子邮件无效 但是,在键入myemail@email ,视图模型将会将其视为正确(仅在前端)。 public async Task Register([FromForm]VisitViewModel vm) 像这样的ModelState转换会使ModelState无效并拒绝电子邮件,因此该部分是可以的。 根据这个答案 ,前端应该表明这是无效的 谁能解释一下这里发生了什么? 我绝对亏本。

EmailAddressAttribute允许结尾的点

.NET 4.6.1中的EmailAddressAttribute允许结尾点。 这意味着关注电子邮件:someone@google.com。 已validation。 对于Microsoft,此电子邮件有效。 但是,例如,对于PayPal,电子邮件无效。 那么有人知道,电子邮件末尾的点是否有效?

System.Net.MailMessage允许一些无效的电子邮件地址格式

许多人可能已经意识到,正确validation电子邮件地址可能有点噩梦。 您可以整天搜索与当前RFC标准匹配的C#正则表达式,并且您将找到可以提供不同结果的不同正则表达式。 如果查看http://en.wikipedia.org/wiki/Email_address#Local_part ,您将看到不允许在本地部分的开头或结尾处出现句点。 也不允许连续两个时期。 但是,以下NUnit测试certificateSystem.Net.MailMessage允许您为某些无效的电子邮件地址格式实例化MailMessage对象。 [Test] [TestCase(@”foobar@exampleserver”)] //technically valid from the wiki article [TestCase(@”jsmith@[192.168.2.1]”)] //technically valid from the wiki article [TestCase(@”niceandsimple@example.com”)] //vanilla email address [TestCase(@”very.common@example.com”)] //also standard [TestCase(@”a.little.lengthy.but.fine@dept.example.com”)] //long with lots of periods [TestCase(@”disposable.style.email.with+symbol@example.com”)] //disposable with the + symbol [TestCase(@”other.email-with-dash@example.com”)] //period and dash in local part [TestCase(@”user-test-hyphens@example-domain.com”)] //lots of hyphens [TestCase(@”!#$%&’*+-/=?^_`{|}~@example-domain.com”)] //all these symbols […]

C#准备语句 – @符号(at / strudel符号)查询

我在C#中准备好一个语句有问题: OdbcCommand cmd = sql.CreateCommand(); cmd.CommandText = “SELECT UNIQUE_ID FROM userdetails WHERE USER_ID = ?”; cmd.Parameters.Add(“@USER_ID”, OdbcType.VarChar, 250).Value = email; (当然电子邮件包含有效的电子邮件地址,带@符号)。 此代码返回随机错误 – “连接已被禁用”{“ERROR [01000] [Microsoft] [ODBC SQL Server驱动程序] [TCP / IP套接字] ConnectionWrite(send())。错误[08S01] [Microsoft] [ODBC SQL Server驱动程序] [TCP / IP套接字]常规网络错误。请检查您的网络文档。“} 但是,如果我在没有准备好的语句的情况下运行我的代码, cmd.CommandText = “SELECT UNIQUE_ID FROM userdetails WHERE USER_ID = ‘”+email+”‘”; 一切都很完美。 也许这与我在参数化值中有@符号的事实有关? 我倾向于认为我不是第一个尝试使用电子邮件地址创建预备声明的人… 我不知道出了什么问题! […]

C#Email Regular Expression – 符合RFC 2822指南的任何内容吗?

我意识到有大量的正则表达式电子邮件validation,但我似乎找不到符合RFC 2822标准的电子邮件validation。 我找到的那些继续让垃圾像… @ abc.com通过。 如果其中一个问题的答案已经符合RFC 2822(但没有注释,那么请原谅),请原谅我。