【问题标题】:How to manually add MVC client-side validation?如何手动添加 MVC 客户端验证?
【发布时间】:2017-12-21 18:15:42
【问题描述】:

我正在对 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>

【问题讨论】:

    标签: asp.net-mvc validation client-side unobtrusive-validation asp.net-mvc-validation


    【解决方案1】:

    有几个问题。首先,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

    【讨论】:

    • 是的,成功了。谢谢 - 你的回答非常有用。
    猜你喜欢
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 2021-02-27
    • 2010-09-14
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多