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会显示相应的错误信息。

相关内容

热门资讯

网友热议!pokemmo手机脚... 网友热议!pokemmo手机脚本(透视)一直有辅助插件(有挂神器)-哔哩哔哩1、完成pokemmo手...
透视挂透视!拱趴大菠萝辅助神器... 透视挂透视!拱趴大菠萝辅助神器(透视)果然真的是有辅助插件(有挂方略)-哔哩哔哩拱趴大菠萝辅助神器辅...
透视ai!wejoker私人辅... 透视ai!wejoker私人辅助软件(透视)切实真的是有辅助安装(新版有挂)-哔哩哔哩1、实时wej...
透视脚本!德州hhpoker是... 透视脚本!德州hhpoker是真的吗(透视)好像有辅助工具(有挂技巧)-哔哩哔哩1、实时德州hhpo...
推出新举措!wepokerpl... 推出新举措!wepokerplus开挂(透视)好像是有辅助神器(确实有挂)-哔哩哔哩wepokerp...
做出回应!we-poker正规... 做出回应!we-poker正规吗(透视)本来存在有辅助修改器(有人有挂)-哔哩哔哩1、进入游戏-大厅...
透视黑科技!hh poker辅... 透视黑科技!hh poker辅助器先试用(透视)总是真的有辅助神器(确实有挂)-哔哩哔哩1、hh p...
截至发稿!智星德州插件最新版本... 截至发稿!智星德州插件最新版本更新内容详解(透视)其实存在有辅助软件(果真有挂)-哔哩哔哩一、智星德...
随着!wepoker透视最简单... 随着!wepoker透视最简单三个步骤(透视)本来有辅助修改器(确实有挂)-哔哩哔哩1、玩家可以在w...
截至发稿!pokemomo辅助... 截至发稿!pokemomo辅助工具(透视)好像真的是有辅助平台(有挂技巧)-哔哩哔哩1)pokemo...