我有一个字段“Width”,我只知道运行时允许的范围。
如何在范围之间添加客户端验证。
如果需要,我可以将max和min作为隐藏字段传递?
我应该使用jquery将这些属性添加到输入字段吗?:data-val-range-min="1" data-val-range-max="10" data-val-range="message"
(仅供参考我使用流利验证框架)
答案 0 :(得分:0)
我看到您正在使用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
变量移动到模糊函数中并更改data-val-*
- 使用JQuery fe的属性并且验证将按预期工作。
答案 1 :(得分:0)
您需要的是使用属性
data-val-range = "message"
data-val-range-max = maxValue
data-val-range-min = minValue
然后,如果要更改范围,请在脚本中执行此操作:
$("#" + paramID).attr('data-val-range-max', max)
$("#" + paramID).attr('data-val-range-min', min)
$.validator.unobtrusive.parse(document); <--------
“&lt; ----”这允许您使用新值动态应用验证