Reputation: 8098
How do I ensure that a user cannot enter a value smaller or bigger than a certain value ?
The problem lies in making a validation of a field having a value smaller or bigger than another field.
Upvotes: 1
Views: 2938
Reputation: 546
If you are using jquery.validation plugin here's the greaterThan method
$.validator.addMethod(
"greaterThan",
function(value, element, params) {
var target = $(params[0]).val();
var isValueNumeric = !isNaN(parseFloat(value)) && isFinite(value);
var isTargetNumeric = !isNaN(parseFloat(target)) && isFinite(target);
if (isValueNumeric && isTargetNumeric) {
return Number(value) > Number(target);
}
if (!/Invalid|NaN/.test(new Date(value))) {
return new Date(value) > new Date(target);
}
return false;
},
'Must be greater than {1}.');
Upvotes: 2
Reputation: 8098
$(document).ready
(
function ()
{
$.validator.addMethod(
"greaterThan",
function (value, element, param)
{
// bind to the blur event of the target in order to revalidate whenever the target field is updated
var target = $(param)
.unbind(".validate-greaterThan")
.bind
(
"blur.validate-greaterThan",
function ()
{
$(element).valid();
}
);
return parseFloat(value) >= parseFloat(target.val());
},
"Pretul trebuie sa fie mai mare decat valoarea initiala"
);
}
);
$('#gvProduseList input[name$=Pret]').each
(
function (index, domEle)
{
$(this).rules
(
"add"
, {
required: true,
minlength: 1,
range: [0.1, Number.MAX_VALUE],
greaterThan: '#Produse_' + index + '__PretIntrare',
messages:
{
required: "Pretul este necesar!",
minlength: "Pretul este necesar!",
range: "Pretul este necesar!",
greaterThan: "Pretul trebuie sa fie mai mare decat " + $('#Produse_' + index + '__PretIntrare').val()
}
}
);
}
);
$(document).ready
(
function ()
{
$.validator.addMethod(
"lessThan",
function (value, element, param)
{
// bind to the blur event of the target in order to revalidate whenever the target field is updated
var target = $(param)
.unbind(".validate-lessThan")
.bind
(
"blur.validate-lessThan",
function ()
{
$(element).valid();
}
);
return parseFloat(value) <= parseFloat(target.val());
},
"Valoarea trebuie sa fie mai mica sau egala decat valoarea initiala"
);
}
);
$('#gvListDetaliiElemTranAdaugare input[name$=Valoare]').each
(
function (index, domEle)
{
$(this).rules
(
"add"
, {
required: true,
minlength: 1,
range: [0.1, Number.MAX_VALUE],
lessThan: '#ListaDetaliiElemTranModelAdaugare_' + index + '__ValoareRamasa',
messages:
{
required: "Valoarea este necesara!",
minlength: "Valoarea este necesara!",
range: "Valoarea este necesara!",
lessThan: "Valoarea trebuie sa fie mai mica sau egala cu " + $('#ListaDetaliiElemTranModelAdaugare_' + index + '__ValoareRamasa').val()
}
}
);
}
);
Upvotes: 0