razor表单验证

1.验证注解(Model)

public class Student
{
    //默认不能为空
    [Required(ErrorMessage ="姓名不能为空")]
    [StringLength(20)]
    public string Name { get; set; }
    //[RegularExpression(@"[1-9]|([1-9]\d)|([1-9]\d\d)")]
    [Range(1,200,ErrorMessage ="年龄不合法")]
    public int Age { get; set; }
    [DataType(DataType.Password)]
    [Display(Name="密码")]
    public string Password { get; set; }
    [DataType(DataType.Password)]
    [Display(Name="重复密码")]
    [Compare("Password")]
    public string ConFirmPassword { get; set; }
}

 

 

 2.生成表单

@{Html.BeginForm("Register", "FormValidate", FormMethod.Post); }
    @*@Html.EditorForModel()*@
    <p>name</p> @Html.TextBox("name") @Html.ValidationMessage("name")<br />
    <p>age</p> @Html.TextBox("age") @Html.ValidationMessage("age")<br />
    <p>password</p>@Html.TextBox("password") @Html.ValidationMessage("password")<br />
    <p>passwordConfirm</p>@Html.TextBox("confirmPassword") @Html.ValidationMessage("confirmPassword")<br />
    @Html.TextBox("sub", "submit", new { type="submit" })
@{Html.EndForm(); }

 

转载于:https://www.cnblogs.com/zhuxiang1633/p/7784038.html

### Blazor 表单验证实现方法 在 Blazor 中,表单验证可以通过内置的功能以及第三方库来完成。以下是关于如何在 Blazor 中实现表单验证的具体方法。 #### 使用 DataAnnotations 进行验证 DataAnnotations 是一种简单而强大的方式,在模型类上应用属性级别的约束条件来进行验证。下面是一个基于 `DataAnnotations` 的示例: ```csharp public class Person { [Required(ErrorMessage = "Name is required.")] public string Name { get; set; } [Range(18, 80, ErrorMessage = "Age must be between 18 and 80.")] public int Age { get; set; } } ``` 此代码片段展示了如何通过 `[Required]` 和 `[Range]` 属性为字段设置必要的验证逻辑[^4]。 #### 在 Razor 组件中绑定模型并启用验证 为了使上述模型生效,需要将其与 `<EditForm>` 控件结合使用,并利用 `@bind-Value` 将输入控件绑定到模型的属性上。以下是一个完整的 Razor 页面示例: ```razor <EditForm Model="@person" OnValidSubmit="HandleValidSubmit"> <DataAnnotationsValidator /> <div> <label>Name:</label> <InputText @bind-Value="person.Name" /> <ValidationMessage For="@(() => person.Name)" /> </div> <div> <label>Age:</label> <InputNumber @bind-Value="person.Age" /> <ValidationMessage For="@(() => person.Age)" /> </div> <button type="submit">Submit</button> </EditForm> @code { private Person person = new(); private void HandleValidSubmit() { // 处理提交后的操作 } } ``` 在此组件中,`<DataAnnotationsValidator />` 负责触发针对模型上的 `DataAnnotations` 验证规则的检查;如果存在错误,则会显示相应的消息。 #### 自定义验证器 当默认的数据注解无法满足需求时,可以编写自定义验证逻辑。这通常涉及继承 `ValidationAttribute` 并重写其核心方法。例如: ```csharp public class CustomValidation : ValidationAttribute { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { var propertyValue = (string)value; if (!propertyValue.StartsWith("Custom")) return new ValidationResult("The field should start with 'Custom'."); return ValidationResult.Success; } } // 应用于模型中的某个属性 [CustomValidation] public string SpecialField { get; set; } ``` 这段代码展示了一个简单的自定义验证器,它可以扩展至更复杂的场景下工作[^3]。 #### 利用第三方库增强功能 对于更加复杂的需求或者希望减少重复劳动的情况来说,引入像 **Blazor-Validation** 这样的专用库可能是更好的选择。该工具包允许开发者快速搭建起具有高度灵活性和可维护性的验证体系结构[^1]。 --- ### 总结 以上介绍了几种常见的 Blazor 表单验证的方法,包括但不限于标准的 `DataAnnotations` 方法、定制化验证策略以及借助外部插件提升效率的技术手段。每种途径都有各自适用范围,请依据实际开发环境选取最合适的方案实施部署。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值