【问题标题】:Email validation is not working when using on data annotation on my View? [closed]在我的视图上使用数据注释时,电子邮件验证不起作用? [关闭]
【发布时间】:2020-06-30 07:35:35
【问题描述】:

我有一封为模型和视图创建的电子邮件,究竟是什么问题?当我检查这个时,我没有看到来自浏览器的任何错误,下面是我使用 asp.net mvc 在表单上进行的验证的逻辑。

                        <div class="row">
                        <label for"Email">Email:</label>
                        <div class="input-group col-md-4 col-md-offset-2 col-sm-2 col-xs-2">
                            <div class="input-group pull-right">
                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                @Html.TextBoxFor(m => m.Email, new { @class = "form-control", type = "email", id = "inputEmail" , placeholder = "example@example.com", 
                                required = "required",
                                 pattern = @"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$", title = "This field is required"})
                                @Html.ValidationMessageFor(m => m.Email, " ", new { @class = "text-danger" })
                                <div class="input-group-append">
                                    <div class="input-group-text">

                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

        // Model
        [Required]
        [EmailAddress]
        [Display(Name = "Email")]
        public string Email { get; set; }

【问题讨论】:

    标签: asp.net-mvc bootstrap-4 data-annotations


    【解决方案1】:

    为什么要在视图中写PatternRequired? DataAnnotations 不应该这样做吗?试试:

    [Required]
    [Display(Name = "Email")]
    [RegularExpression("^[\w!#$%&'*+\-/=?\^_`{|}~]+(\.[\w!#$%&'*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+[a-zA-Z]{2,4})|(([0-9]{1,3}\.){3}[0-9]{1,3}))\z", ErrorMessage = "Please enter a valid email address")]
    

    您可能想使用另一个正则表达式。

    然后在视图中:

    @Html.TextBoxFor(m => m.Email)
    

    【讨论】:

    • Rahatur 这些表达式是否被 .net 框架接受,是否出现错误? "无法识别的空间表达式"
    • 我还没有在这里拉哈图尔赢
    • @metro2020Flavor 是的,.net 框架代码。应该管用。尝试在正则表达式中添加一个“@”字符,例如[RegularExpression(@"^[\w...
    猜你喜欢
    • 2014-12-12
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多