ASP.NET MVC 5的ValidationMessageFor用于外键的验证信息。
创始人
2024-09-16 10:00:52
0

在ASP.NET MVC 5中,ValidationMessageFor方法可用于显示外键的验证信息。以下是一个包含代码示例的解决方法:

假设有两个实体类,一个是Customer,另一个是Order。Order类中有一个CustomerId属性,用于表示订单所属的客户。我们需要在创建订单时验证CustomerId是否存在。

首先,在Order类中添加CustomerId属性以及相应的数据注解:

public class Order
{
    // Other properties...

    [Required(ErrorMessage = "Customer is required.")]
    public int CustomerId { get; set; }

    // Other properties...
}

接下来,在OrderController中的Create动作方法中,添加验证逻辑:

public ActionResult Create(Order order)
{
    if (ModelState.IsValid)
    {
        // Save the order to the database
        // ...
        return RedirectToAction("Index");
    }

    // If the validation fails, re-populate the customer dropdown list
    ViewBag.CustomerId = new SelectList(db.Customers, "Id", "Name", order.CustomerId);

    return View(order);
}

最后,在Create视图中使用ValidationMessageFor方法来显示验证信息:

@model YourNamespace.Order

@using (Html.BeginForm())
{
    

    
@Html.LabelFor(model => model.CustomerId, new { @class = "control-label" }) @Html.DropDownListFor(model => model.CustomerId, ViewBag.CustomerId as SelectList, "-- Select Customer --", new { @class = "form-control" }) @Html.ValidationMessageFor(model => model.CustomerId)
}

这样,当提交表单时,如果CustomerId为空或者不存在,ValidationMessageFor会显示相应的错误信息。

相关内容

热门资讯

查到实测!哈局十三张怎么赢(辅... 查到实测!哈局十三张怎么赢(辅助挂)总是存在有挂(2022已更新)(哔哩哔哩)1、在哈局十三张怎么赢...
总算清楚!渝都麻将有挂吗(透视... 总算清楚!渝都麻将有挂吗(透视)其实存在有挂(2025已更新)(哔哩哔哩)1、该软件可以轻松地帮助玩...
推荐一款!中至窝龙必赢攻略(透... 推荐一款!中至窝龙必赢攻略(透视)切实是真的有挂(2022已更新)(哔哩哔哩)1、超多福利:超高返利...
技巧知识分享!微扑克辅助软件(... 技巧知识分享!微扑克辅助软件(透视)切实存在有挂(2021已更新)(哔哩哔哩);1、完成微扑克辅助软...
实测必看!开心跑胡子游戏规律(... 实测必看!开心跑胡子游戏规律(辅助挂)原来是真的有挂(2022已更新)(哔哩哔哩)1、开心跑胡子游戏...
科普分享!欢乐茶馆辅助器在哪里... 科普分享!欢乐茶馆辅助器在哪里(透视辅助)都是是真的有挂(2024已更新)(哔哩哔哩);运欢乐茶馆辅...
揭秘真相!哈灵有辅助软件吗(透... 揭秘真相!哈灵有辅助软件吗(透视)总是存在有挂(2020已更新)(哔哩哔哩);1、哈灵有辅助软件吗a...
详细说明!八闽十三水有外挂吗(... 详细说明!八闽十三水有外挂吗(透明挂)好像真的是有挂(2020已更新)(哔哩哔哩)1、全新机制【八闽...
我来教教你!途游斗地主好友局有... 我来教教你!途游斗地主好友局有挂吗(透视)总是有挂(2024已更新)(哔哩哔哩);1、操作简单,无需...
盘点一款!雀神2024小程序辅... 盘点一款!雀神2024小程序辅助器(透视)真是存在有挂(2023已更新)(哔哩哔哩)1、用户打开应用...