在运行时动态更改Blazor EditContext



我在Blazor服务器应用程序验证的某个阶段遇到了困难。

有一个上下文模型";订单";。在CRUD操作期间,可以添加新客户或选择现有客户。

第一个InputSelect具有选项New或Existing。根据它,有一个隐藏/显示逻辑,用于显示新客户的输入文本,因此用户可以输入客户名称或显示inputselect,从而用户可以选择现有客户。

这种逻辑在那里运行良好。

问题是:当用户选择New customer并输入客户名称时,我希望从当前EditContext中删除CustomerId模型字段。这意味着,如果正在输入新客户,则无需验证现有客户。

但是,在创建EditContext字段的集合后,我没有找到任何方法或集合来操作它。

所以,请,如果有人有一些解决方案,我很感激。

private class Order
{
    [StringLength(maximumLength: 200, MinimumLength = 3,ErrorMessage ="Enter the customer name")]
    [Required(ErrorMessage ="Enter the customer name") ]
    [Display(Name = "Customer Name")]
    public string CustomerName { get; set; } = "";
    [Required(ErrorMessage ="Please select the option")]
    [Display(Name = "Existing Customer")]
    public Int16 ExistingCustomerId { get; set; }

    [Required(ErrorMessage ="Please select the customer")]
    [Display(Name = "Customer")]
    public int? CustomerId { get; set; }
}

根据您的评论,我理解您不希望有两个模型,但这是最简单的方法,它们可以相互继承

public class AddModel {
    // all fields except ID here
}
public class EditModel : AddModel {
    // just add id property here
}

相关内容

  • 没有找到相关文章

最新更新