gpt4 book ai didi

c# - 如何从一些由 .NET EmailAddress DataAnnotation 支持的 POST 表单数据中修剪空格

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:40 24 4
gpt4 key购买 nike

我有一个简单的输入模型,上面有一个 Email 属性。我正在使用 EmailAddress DataAnnotation 来验证输入数据。

[Required]
[Display(Name = "UserReview_CustomerEmailTitle", ResourceType = typeof(Resources.User.Settings))]
[EmailAddress(ErrorMessageResourceType = typeof(Resources.User.Settings), ErrorMessageResourceName = "UserReview_InvalidEmailMessage")]
public string CustomerEmail { get; set; }

如果输入数据之前/之后没有空格,它会完美地工作(即数据有效)。

当我在输入文本的末尾有一个空格时,它无法通过验证。

我是否可以使用任何技巧来修剪传入的输入数据或告诉 EmailAddress 验证器忽略前置/后置空格?

编辑:

我愿意创建自定义属性...我无法从 EmailAddress 属性继承,因为它是 sealed(叹气)..所以也许是正则表达式属性?

最佳答案

当用户跳出电子邮件字段以运行 trim 时,您可以在 javascript 中处理在值上并替换它。 EmailAddress 注释与 unobtrusive validation 配合得很好在客户端(假设这里是 MVC)。

如果您想避免客户端,您可以查看自定义模型绑定(bind)器,您可以在其中操作用于创建待验证模型的数据。您可以查看一些教程 here .

最后但同样重要的是,也许你可以 borrow the regex used within the Email validator并通过新的 RegularExpression validator 让它接受空格并在您的代码中显式处理 TRIM。

关于c# - 如何从一些由 .NET EmailAddress DataAnnotation 支持的 POST 表单数据中修剪空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36880371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com