我正在使用InputSelect,例如:
<InputSelect @bind-Value="ExampleName">
<option>---</option>
@foreach (var item in itemList)
{
<option>@item.Name</option>
}
</InputSelect>
<ValidationMessage For="@(() => ExampleName)" />
验证是这样实现的:
[Required(ErrorMessage = "Custom error message")]
public string ExampleName { get; set; }
如果我从输入选择中未选择任何内容,则验证工作正常,因为ExampleName不包含任何内容,因此[Required]
属性未得到满足。但是,一旦我选择一个有效的选项,然后再次选择占位符(---),验证就会告诉我输入是有效的。当然是这样,因为---
是一个字符串,但是我不希望它有效。
如何将该选项作为无效选项包括在内?
答案 0 :(得分:0)
花些时间,但是在选项中添加了一个简单的value=""
:
<option value="">---</option>
解决了问题,因为绑定到InputSelect的值现在仅包含一个空字符串,而不包含字符串“ ---”。