javascript - 客户端范围动态验证

标签 javascript jquery model-view-controller unobtrusive-validation

我有一个字段“宽度”,我只知道运行时允许的范围。

如何添加客户端验证以允许在范围之间。

如果需要,我可以将最大值和最小值作为隐藏字段传递吗?

我应该使用 jquery 将这些属性添加到输入字段吗?:data-val-range-min="1"data-val-range-max="10"data-val-range="message "

(仅供引用,我也在使用 fluentvalidation 框架)

最佳答案

我看到您正在使用 JQuery(标记),因此您可以按如下方式进行验证:

有关工作示例,请参阅:http://jsfiddle.net/f9KS3/

$(function() {

    $('input').each(function() {
        var $me = $(this);

        var min = $me.attr('data-val-range-min');
        var max = $me.attr('data-val-range-max');
        var message = $me.attr('data-val-range');

        $me.blur(function() {
            var val = parseInt($me.val());

            if(!$.isNumeric(val) || val < min || val > max) {
                alert('Error (' + message + ')! Field value must be numeric and between ' + min + ' and ' + max);
            }
        });

    });

});

如果您想在运行时更改范围,只需将 minmaxmessage 变量移动到模糊函数中并使用 JQuery f.e. 更改 data-val-*-attributes并且验证将按您的预期进行。

关于javascript - 客户端范围动态验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23950319/

相关文章:

javascript - 如果移除了一个 DOM 元素,它的监听器是否也会从内存中移除?

javascript - 两次 httpRequest 后解析、saveAll 失败(云代码作业)

javascript - BMI计算程序

php - 如何在文本字段内设置用户名和密码的标签?

javascript - 选择指定值时清除 select2 倍数

php - 同名 collison 的 Codeigniter Controller 和模型

javascript - 您可以使用 WhatsApp API For Business 来验证用户吗?

jquery - 如何在按下的按钮上动态设置类?

java - 如何在spring mvc中使 session 失效以实现注销

java - 快速 Java 形状操作