首页 > 解决方案 > 如何使用 jQuery 不显眼的验证从表单字段中删除“必需”设置

问题描述

我在使用 jQuery 验证和 jQuery 不显眼的表单上的字段中删除“必需”字段验证时遇到了一些麻烦。

我有以下剃刀观点 -

    <div class="form-group @Html.Raw(Html.HasError(x => x.TargetNumber) ? "has-error" : null)">
        <div class="col-md-12">
            <p><strong>How much will you raise</strong></p>
        </div>
        <div class="col-sm-6">
            @Html.TextBoxFor(x => x.TargetNumber, new { id = "TargetNumber", @class = "form-control", placeholder = "Target", type = "number", Value="Target" })
            @Html.ValidationMessageFor(x => x.TargetNumber, null, new { @class = "error" })
        </div>
    </div>

并查看模型

    [Required(ErrorMessage = "Please enter a valid value.")]
    [Range(100, Double.PositiveInfinity, ErrorMessage = "The minimum amount for this event is £100")]
    public double TargetNumber { get; set; }

我已尝试以下方法使该字段成为非必需字段 -

然而,该字段在提交时仍被标记为必填项。

任何人都可以建议一种方法,我可以使该字段成为非必需项。

谢谢,

标签: c#asp.net-mvcunobtrusive-validation

解决方案


对于结构,RequiredAttribute只有更改错误消息,属性始终是必需的。
如果您不希望它们是必需的,则需要使它们可以为空:

[Range(100, Double.PositiveInfinity, ErrorMessage = "The minimum amount for this event is £100")]
public double? TargetNumber { get; set; }

推荐阅读