ValidationMessage在页面加载时显示

时间:2017-08-24 17:48:08

标签: javascript jquery validation razor

我有一段像这样的Razor代码:

<div class="form-group">
    @Html.Label("State", new { @class = "control-label col-md-4" })
    <div class="col-md-8">
        <div class="tt-container">
            @Html.Editor("StateName", new { htmlAttributes = new { @id = "StateName", @class = "form-control", @required="required" } })
        </div>
        @Html.ValidationMessage("StateName", "The State field is required", new { @class = "text-danger" })
    </div>
</div>

验证消息The State field is required在页面加载时显示。我只希望该消息显示当用户尝试提交表单时该文本框是否为空。

如果我这样做:

@Html.ValidationMessage("StateName", "", new { @class = "text-danger" })

然后显然我没有看到任何验证消息,因为它是空的,但是当我单击提交并且该文本框为空时,我收到一条验证消息,说This field is required

我正在寻找2种可能性中的一种。

对于第一个问题,如果相应的文本框为空,是否可以在单击提交按钮后显示验证消息?

对于第二个问题,我是否可以将该错误消息更具描述性,如The State field is required

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用此ValidationMessage辅助方法重载

@Html.ValidationMessage("StateName")

验证消息将是模型验证框架以“{propertyName} is required”形式生成的消息