如何手动添加MVC客户端验证?

问题描述 投票:0回答:1

我正在为MVC使用jquery(不显眼)验证,并且我有一个不属于我的模型的字段,所以我宁愿不添加它只是给它一些数据注释。

并且,我所需要的只是确保该值等于100 ...我希望这与其他所有内容一起验证。

我读过这篇文章:http://www.blinkingcaret.com/2016/03/23/manually-use-mvc-client-side-validation/

并且,我补充说

数据-VAL = “真”

以及

数据-VAL-equalto = “100”

但这没效果。

<input type="text" name="smtotal" id="SMTotal" class="form-control " readonly="readonly" data-val="true"  data-val-equalto="100"/>
                        <span class="field-validation-valid" data-valmsg-for="smtotal" data-valmsg-replace="true">This must equal 100</span>
asp.net-mvc validation client-side unobtrusive-validation asp.net-mvc-validation
1个回答
0
投票

有一些问题。首先,data-val-equalto是您要放置要显示的错误消息的位置,而不是您要与之比较的值。此外,equalto验证器与另一个字段中的值进行比较,而不是像100这样的任意值。您必须在data-val-equalto-other属性中提供其他字段的名称。

要与100之类的固定值进行比较,您可以使用范围验证器并使用相同的值作为最小值和最大值,如下所示:

<input type="text" name="smtotal" id="SMTotal" class="form-control" readonly="readonly"
       data-val="true" data-val-range="This must equal 100"
       data-val-range-min="100" data-val-range-max="100" />
<span class="field-validation-valid" data-valmsg-for="smtotal"
      data-valmsg-replace="true"></span>

请注意,我没有在span中提供消息,因为消息来自input。如果你想把信息放在span中,那么你必须将data-valmsg-replace设置为false

© www.soinside.com 2019 - 2024. All rights reserved.