1

我的 mvc 4 应用程序中有剃须刀页面。现在想象我的页面中有一个简单的文本框,如下所示:

@Html.TextBox("Email")

或者

<input id="Email" name="Email" type="text" />

我怎样才能为这个字段做一些客户端验证,你知道像 asp.net web 表单验证控件之类的东西。我想让它成为必需并为它编写一个正则表达式。

4

3 回答 3

2

我曾经这样做:

  • 在模型 Person.cs 中:

        [StringLength(50, ErrorMessage = "El campo {0} no puede tener mas de 50 caracteres")]
        [Required(ErrorMessage = "El nombre es obligatorio")]
        public string Nombre { get; set; }
    
  • 在页面 Create.cshtml 中:

        <div asp-validation-summary="ModelOnly" class="text-danger"></div>
        <div class="form-group">
            <label asp-for="Person.Nombre" class="control-label">Nombre / Name:</label>
            <input asp-for="Person.Nombre" class="form-control" />
            <span asp-validation-for="Person.Nombre" class="text-danger"></span>
        </div>
    
于 2018-04-12T10:31:02.440 回答
1

您可能想查看数据注释。它们为您提供了非常简单直接的方式来为每个视图模型中的每个字段定义(不仅)验证。

请查看以下链接:

如何:使用 DataAnnotations 属性验证模型数据

在您的特定情况下,它将是

[Required]
[RegularExpression(@"<your RegEx>", ErrorMessage = "<your message, leave out for default>")]
public string fieldYouValidating { get; set; }

许多人喜欢的其他验证方式是Fluent Validation

RuleFor(x => x.fieldYouValidating)
        .NotEmpty()
        .WithMessage("This is the message.");

希望这可以帮助

于 2012-09-29T17:40:58.297 回答
1

RequiredAttribute你通常用和 来装饰你的模型属性RegexAttribute

于 2012-09-29T17:30:37.650 回答