Blazor自定义验证程序无法传递变量文本。
创始人
2024-12-22 09:00:19
0

代码示例:

  1. 创建验证程序类和验证结果类

public class MyCustomValidator { public static ValidationResult Validate(string value, int maxLength) { if (string.IsNullOrEmpty(value) || value.Length > maxLength) return new ValidationResult("输入不能为空且长度不超过 " + maxLength + "。"); else return ValidationResult.Success; } }

public class ValidationResult
{
    public bool IsValid { get; }
    public string ErrorMessage { get; }

    public ValidationResult(bool isValid, string errorMessage = null)
    {
        IsValid = isValid;
        ErrorMessage = errorMessage;
    }

    public static ValidationResult Success { get; } = new ValidationResult(true);
}
  1. 在Razor组件中使用

@using System.ComponentModel.DataAnnotations @using MyApp.Shared

Blazor自定义验证程序




@code { private readonly MyModel Model = new MyModel();

private class MyModel
{
    [MyCustomValidator]
    [Required]
    public string Email { get; set; }
}

}

  1. 创建自定义的验证属性

public class MyCustomValidatorAttribute : ValidationAttribute { public override bool IsValid(object value) { return MyCustomValidator.Validate(value?.ToString(), 10).IsValid; }

    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {
        return MyCustomValidator.Validate(value?.ToString(), 10);
    }
}
  1. 在验证类中使用变量

public class MyCustomValidator { private int maxLength;

    public MyCustomValidator(int maxLength)
    {
        this.maxLength = maxLength;
    }

    public ValidationResult Validate(string value)
    {
        if (string.IsNullOrEmpty(value) || value.Length > maxLength)
            return new ValidationResult("输入不能为空且长度不超过 " + maxLength + "。");
        else
            return ValidationResult.Success;
    }
}
  1. 在Razor组件中使用

@using MyApp.Shared

Blazor自

相关内容

热门资讯

aapoker辅助使用教程(a... aapoker辅助使用教程(aapokeR)aapoker用外挂会被封号吗(辅助挂)细节方法(总是有...
黑科技攻略(德州wpk德州)外... 黑科技攻略(德州wpk德州)外挂透视辅助方法(透视)2025新版技巧(好像真的有挂);1、完成德州w...
aa扑克外挂(AApOKER)... aa扑克外挂(AApOKER)aapoker ai软件(辅助挂)可靠教程(果然是真的有挂)1、完成a...
黑科技真的(wpk微扑克)外挂... 黑科技真的(wpk微扑克)外挂透视辅助下载(透视)2025新版技巧(一直真的是有挂)1、下载好wpk...
aapoker辅助使用教程(A... aapoker辅助使用教程(AApOKER)aapoker智能ai辅助(辅助挂)扑克教程(切实真的是...
黑科技免费(wpk德州扑克)外... 黑科技免费(wpk德州扑克)外挂透视辅助方法(透视)软件教程(真是真的是有挂)1、完成wpk德州扑克...
aapoker辅助使用教程(德... aapoker辅助使用教程(德州aapoker)Aapoker app(辅助挂)必胜教程(都是真的是...
黑科技玄学(线上微扑克)外挂透... 黑科技玄学(线上微扑克)外挂透视辅助器(透视)2025新版教程(原来是有挂);1、进入到线上微扑克黑...
黑科技挂(wpk俱乐部)外挂透... 黑科技挂(wpk俱乐部)外挂透视辅助助手(透视)力荐教程(竟然是真的有挂)1)wpk俱乐部辅助挂:进...
wepoke透明挂是真的吗(W... wepoke透明挂是真的吗(WepoKe)wepoke软件机器人(黑科技)揭秘教程(竟然存在有挂)1...