我有一个字段“宽度”,我只知道运行时允许的范围。
如何添加客户端验证以允许在范围之间。
如果需要,我可以将最大值和最小值作为隐藏字段传递吗?
我应该使用 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);
}
});
});
});
如果您想在运行时更改范围,只需将 min
、max
和 message
变量移动到模糊函数中并使用 JQuery f.e. 更改 data-val-*
-attributes并且验证将按您的预期进行。
关于javascript - 客户端范围动态验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23950319/