繁体   English   中英

ASP.NET MVC客户端验证消息错误

[英]ASP.NET MVC Client Side Validation Message Error

有人可以告诉我为什么显示“此字段是必填字段”和“请输入数据库名称”而不是仅显示“请输入数据库名称”吗?

屏幕截图

这是我的模型:

public class InstallViewModel
    {
        [Required(AllowEmptyStrings = false, ErrorMessage = "Please insert database name")]
        public string DatabaseName { get; set; }

这是我的看法:

<div class="input-group">
    <span class="input-group-addon">Database</span>
    @Html.TextBoxFor(w => w.DatabaseName, new { @class = "form-control", placeholder = "Database name" })
</div>
@Html.ValidationMessageFor(w=> w.DatabaseName)

谢谢。

编辑:

您能看到附件中的图像吗? 上传图片时出现一些问题。

该视图是局部视图,这是整个局部视图:

@Html.ValidationMessageFor(w => w.DatabaseName)
    <div class="input-group">
        <span class="input-group-addon">Database</span>
        @Html.TextBoxFor(w => w.DatabaseName, new { @class = "form-control", placeholder = "Database name" })
    </div> 
    <br />
    @Html.CheckBoxFor(w => w.UseWindowsAuthentication, new { @checked = "checked" }) Use Windows Authentication<br /><br />
    <div class="wizard-sqlauth" style="display: none">
        <div class="input-group">
            <span class="input-group-addon">User name</span>
            @Html.TextBoxFor(w => w.UserName, new { @class = "form-control", placeholder = "User name" })
        </div>
        @Html.ValidationMessageFor(w => w.UserName)<br />
        <div class="input-group">
            <span class="input-group-addon">Password</span>
            @Html.PasswordFor(w => w.Password, new { @class = "form-control" })
        </div>
        @Html.ValidationMessageFor(w => w.Password)
    </div>

DatabaseName为“必需”,您的输入为空。 (只有占位符文本)

您是否在javascript中的任何地方“手动”调用jquery验证,即

$('#myform').valid()吗?

这将触发所需规则的默认值(“此字段为必填。”),并将其作为标签附加在输入之后,这恰好是您所遇到的行为。

如果确实需要同时使用两者(MVC的Unobstrusive验证+ jQuery验证),则可以将jquery验证配置为忽略某些字段 ,例如

$('#myform').validate({
  ignore: '#databasefieldId'
});

您已将RequiredAttribute属性应用于属性DatabaseName的属性,这意味着该属性必须包含一个值。

如果属性为null ,空字符串(“”)或仅包含空格字符,则会引发验证异常。

您只需在div顶部添加@Html.ValidationMessageFor(w=> w.DatabaseName) 这将显示摘要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM