MVC 4如何访问模型的必需属性客户端

时间:2013-12-11 18:06:49

标签: asp.net-mvc

我已经使用required属性标记了我的模型的属性。有没有办法访问此信息客户端?我的目标是在需要/不需要哪些字段(如Html.EditorFor或其他东西)上有某种指示。我想避免简单地进入视图并添加指标,因为我想将所需的东西保存在一个位置(模型)。感谢。

分配css规则规则是我唯一的选择吗?

2 个答案:

答案 0 :(得分:2)

您可以在CSS中检查data-required属性,因为该属性已添加到MVC为所需属性生成的HTML中。

我之前没有这样做,但CSS选择器可能如下所示:

[data-required="true"]

希望这会有所帮助,让我知道它是怎么回事。

答案 1 :(得分:0)

好的,我让它使用这个javascript和jquery:

$(function () {
    $(':input[data-val-required]').each(function () {
        var name = $(this).attr('name');
        var selector = 'label[for=' + name + ']';
        var label = $(selector).first();
        var innerHtml = label.html() + '*';
        label.html(innerHtml);
    });
})

这个想法是输入有" data-val-required"将[Required]属性添加到模型时。当你使用:

<%= Html.LabelFor(m => m.VendorId) %>
<%= Html.EditorFor(m => m.VendorId) %>

html看起来像这样:

<div>
    <label for="VendorId">Vendor Id</label>
</div>
<div>
    <input id="VendorId" class="text-box single-line" type="text" value="" name="VendorId" data-val-required="The Vendor Id field is required." data-val-length-max="255" data-val-length="The Vendor Id field can't exceed 255 characters." data-val="true"></input>
    <span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="VendorId"></span>
</div>

请注意输入的名称&#39; (&#39; id&#39;也会起作用)并标记&#39; for&#39;匹配所以使用它来改变标签html与jquery。