代码之家  ›  专栏  ›  技术社区  ›  Lisa

如何在Blazor服务器中的MudForm中设置MudColorPicker的验证?

  •  0
  • Lisa  · 技术社区  · 3 年前

    我有一个 Mudform 其中包含 MudColorPicker MudColorPicker 是表单的重复使用部分,必须由用户填写。我尝试了不同的方法来设置一些验证,但没有效果。

    我尝试过不同的变量绑定和不同的验证形式。E.g

    `  <MudForm @ref="@_form" Style="max-height: 800px; ">
    <MudColorPicker @bind-Text="@BackgroundColour" Validation="@(new Func<string, IEnumerable<string>>(ColourPicker))" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Text="@BackgroundColour" Required="true" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Text="@BackgroundColour" Required="true" Validation="@(new Func<string, IEnumerable<string>>(ColourPicker))" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Text="model.Colour" Validation="@(new Func<string, IEnumerable<string>>(ColourPicker))" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Text="model.Colour" Required="true" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Text="model.Colour" Required="true" Validation="@(new Func<string, IEnumerable<string>>(ColourPicker))" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Value="model.Colour2" Validation="@(new Func<string, IEnumerable<string>>(ColourPicker))" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Value="model.Colour2" Required="true" ColorPickerView="ColorPickerView.GridCompact" />
    <MudColorPicker @bind-Value="model.Colour2" Required="true" Validation="@(new Func<string, IEnumerable<string>>(ColourPicker))" ColorPickerView="ColorPickerView.GridCompact" />
    
    @code {
        public MudForm _form { get; set; }
        public string BackgroundColour { get; set; } = string.Empty;
    
        Category model = new Category();
    
        public class Category
        {
            [Required]
            public string Colour { get; set; }
    
            [Required]
            public MudColor Colour2 { get; set; }
        }
    
    
        private IEnumerable<string> ColourPicker(string colour)
        {
            if (string.IsNullOrWhiteSpace(colour))
            {
                yield return "Background colour is required!";
                yield break;
            }
        }
    }`
    

    刚刚尝试:

     <MudColorPicker @bind-Value="model.Colour2" ErrorText="Colour Required" Required="true" Validation="@mudColourValidator.Validation" ColorPickerView="ColorPickerView.GridCompact" />
                <MudColorPicker @bind-Value="model.Colour2" ErrorText="Colour Required" Required="false" Validation="@mudColourValidator.Validation" ColorPickerView="ColorPickerView.GridCompact" />
                <MudColorPicker @bind-Value="model.Colour2" ErrorText="Colour Required" Validation="@mudColourValidator.Validation" ColorPickerView="ColorPickerView.GridCompact" />
    
    
    @code{
     FluentValueValidator<MudColor> mudColourValidator = new FluentValueValidator<MudColor>(x => x.NotEmpty());
    }
    
    0 回复  |  直到 3 年前