显示ASP.Net中隐藏输入字段的验证消息

时间:2018-04-08 15:05:33

标签: asp.net asp.net-mvc

我在ASP.Net表单中添加了一个文件上传字段。由于该领域是必需的,我补充道 验证消息,一切正常。之后,我想自定义文件输入样式:

代码:

<div class="input-group">
    <label class="input-group-btn">
        <span class="btn btn-success">
            National ID photo&hellip;@Html.TextBoxFor(model => model.NationalIDPhoto, new {
                @Type = "file", @Id = "ifile-national-id", @Class = "hidden"
            })
        </span>
    </label>
    <input type="text" class="form-control" readonly>
</div>
@Html.ValidationMessageFor(model => model.NationalIDPhoto, "", new {
    @Class = "text-danger"
})

这里是model.NationalIDPhoto属性声明

public class RegisterViewModel
{
    /*
     * Other attributes here
     */
    [Required]
    [Display(Name = "National ID Photo")]
    public HttpPostedFileWrapper NationalIDPhoto { get; set; }
    /*
     * And more attributes there
     */
 }

输出1:
enter image description here
问题:
验证消息不会出现。经过一些研究和试验,我得到了理由。

原因: @Class = "hidden"会导致隐藏输入字段和关联的验证消息。也就是说,要么两者都隐藏,要么两者都可见。

当我删除@Class = "hidden"时,输出看起来像那样

输出2:
enter image description here

根据answer,我尝试了以下脚本,但它不起作用:

$.validator.setDefaults({ 
    ignore: [] 
});

如何显示隐藏字段的验证消息?

0 个答案:

没有答案