如果 ModelState 表明字段无效,则清除字段值

发布于 2024-12-10 16:17:48 字数 363 浏览 0 评论 0原文

如果 ModelState 显示字段无效,我想清除模型中字段的提交值。

这是我到目前为止所得到的,但无法将价值的关键与模型联系起来。有什么建议吗?

if (!ModelState.IsValid)
{
  foreach (string key in ModelState.Keys)
  {
    if (!ModelState.IsValidField(key))
    {
       // This field is not valid so set to empty string in model
       // Something like....
       model[key] = "";
    }
  }
}

I want to clear the submitted value of a field in a model if the ModelState shows that the field is not valid.

This is where I have got so far but can't tie up the key to value in the model. Any suggestions?

if (!ModelState.IsValid)
{
  foreach (string key in ModelState.Keys)
  {
    if (!ModelState.IsValidField(key))
    {
       // This field is not valid so set to empty string in model
       // Something like....
       model[key] = "";
    }
  }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

反话 2024-12-17 16:17:48

您应该返回与收到的模型相同的视图,并将代码更改为以下内容:

if (!this.ModelState.IsValidField(key))
{
    var emptyValue = new ValueProviderResult(
        string.Empty,
        string.Empty,
        CultureInfo.CurrentCulture);

    this.ModelState.SetModelValue(
        key,
        emptyValue);
}

You should return the same view with the received model and also change your code to the following:

if (!this.ModelState.IsValidField(key))
{
    var emptyValue = new ValueProviderResult(
        string.Empty,
        string.Empty,
        CultureInfo.CurrentCulture);

    this.ModelState.SetModelValue(
        key,
        emptyValue);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文