如何手动添加 MVC 客户端验证?
How to manually add MVC client-side validation?
我正在对 MVC 使用 jquery(不显眼的)验证,并且我有一个字段不属于我的模型,所以我不想添加它只是为了给它一些数据注释.
而且,我只需要确保该值等于 100 ...我希望它与其他所有内容一起得到验证。
我读了这篇文章:http://www.blinkingcaret.com/2016/03/23/manually-use-mvc-client-side-validation/
而且,我添加了
data-val="true"
以及
data-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>
有几个问题。首先,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
。
我正在对 MVC 使用 jquery(不显眼的)验证,并且我有一个字段不属于我的模型,所以我不想添加它只是为了给它一些数据注释.
而且,我只需要确保该值等于 100 ...我希望它与其他所有内容一起得到验证。
我读了这篇文章:http://www.blinkingcaret.com/2016/03/23/manually-use-mvc-client-side-validation/
而且,我添加了
data-val="true"
以及
data-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>
有几个问题。首先,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
。