如何在使用Html.BeginForm时显示警报(验证消息)?

时间:2015-08-18 13:54:50

标签: javascript jquery html alert html.beginform

我正在使用html.Beginform导航到动作。我正在向它传递一个参数。从下拉列表中检索参数的值。我想检查是否已选择下拉列表。如果有点击事件,我可以轻松验证。但我不知道如何在没有点击事件的情况下实现这一目标。

以下是我的代码:

@using (Html.BeginForm("Index", "Report", FormMethod.Post))
{
}

控制器:

public ActionResult Index (string Name)
{
}

是否可以使用Javascipt而不是C#实现它?

2 个答案:

答案 0 :(得分:2)

使用模型时,请务必添加

[Required]

关于您希望获得的项目。

public class TheDropDownModel
{
    [Required]
    public string DropdownId { get; set; }
}

然后在视图上添加以显示验证摘要。

@using (Html.BeginForm("Index", "Report", FormMethod.Post))
{
...dropdown code
@Html.ValidationSummary(true)

..submit button
}

将控制器更改为

public ActionResult Index (TheDropDownModel model)
{
}

答案 1 :(得分:1)

<强>模型

public class MyViewModel
{
    ...
    [Required]
    public string Name { get; set; }
    ...
}

查看

@model MyViewModel @* there should be setted full namespace for your model *@

@using(Html.BeginForm("Index", "Report", FormMethod.Post))
{
    ...
    @Html.DropDownListFor(m => m.Name, @* there should be your selectList *@)
    @Html.ValidationMessageFor(m => m.Name)
    ...
    <button type="submit">Send</button>
}

<强>控制器

[HttpPost]
public ActionResult Index (MyViewModel model)
{
    if (!ModelState.IsValid)
    {
        // Some server logic for model validation
    }
}