gpt4 book ai didi

validation - asp .net core - 自定义验证错误未显示在 View 中

转载 作者:行者123 更新时间:2023-12-03 09:40:44 26 4
gpt4 key购买 nike

这是我的数据模型,它包括一个自定义验证:

public class MyData : IValidatableObject
{
public int ID { get; set; }
public int number { get; set; }

[Required]
public string text { get; set; }

public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (text.Length < number)
{
yield return new ValidationResult(
"Text too short, must be at least: " + number.ToString(),
new[] { "number" });
}
}
}

这是我观点的一部分:
<div class="form-group">
<label asp-for="number" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="number" class="form-control" />
<span asp-validation-for="number" class="text-danger" />
</div>
</div>

自定义验证错误文本永远不会显示在 asp-validation-for 应该放置的位置(当字段数据不存在时,标准消息 The number field is required.” 正确显示)。

但是,如果我在 View 中添加此代码段:
<div>
@Html.ValidationMessage("number")
</div>

...它将显示自定义错误消息。

asp-validation-for helper 有什么问题?

最佳答案

我在你使用的代码中发现了

<span asp-validation-for="number" class="text-danger" />

您需要添加结束标记。使用它就像
<span asp-validation-for="number" class="text-danger" ></span>

它会在字段下方显示错误消息。

关于validation - asp .net core - 自定义验证错误未显示在 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40766273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com