Skip to content

Commit

Permalink
Core: Allow attributes to have a value of zero (eg min='0')
Browse files Browse the repository at this point in the history
Closes #1029
Closes #930
Fixes #854
  • Loading branch information
nicjansma authored and jzaefferer committed Mar 12, 2014
1 parent 070edc7 commit 9dc0d1d
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -908,7 +908,7 @@ $.extend($.validator, {
value = Number(value);
}

if ( value ) {
if ( value || value === 0 ) {
rules[method] = value;
} else if ( type === method && type !== "range" ) {
// exception: the jquery validate 'range' method
Expand Down
4 changes: 4 additions & 0 deletions test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,10 @@ <h3></h3>
<input type="number" id="rangeNumberInvalidGreater" name="rangeNumberInvalidGreater" min="50" max="200" value="1000"/>
<input type="number" id="rangeNumberInvalidLess" name="rangeNumberInvalidLess" min="50" max="200" value="6"/>

<input type="number" id="rangeMinZeroInvalidLess" name="rangeMinZeroInvalidLess" min="0" value="-1"/>
<input type="number" id="rangeMinZeroValidEqual" name="rangeMinZeroValidEqual" min="0" value="0"/>
<input type="number" id="rangeMinZeroValidGreater" name="rangeMinZeroValidGreater" min="0" value="1"/>

</form>
<form id="rangeMinDateValid">
<input type="date" id="minDateValid" name="minDateValid" min="2012-11-21" value="2012-12-21"/>
Expand Down
38 changes: 38 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1669,3 +1669,41 @@ test("Min and Max number set by attributes less", function() {
equal( label.text(), "Please enter a value greater than or equal to 50.", "Correct error label" );
});

test("Rules allowed to have a value of zero invalid", function() {
var form = $("#ranges"),
name = $("#rangeMinZeroInvalidLess"),
label;

form.validate();
form.get(0).reset();
name.valid();

label = $("#ranges label");
equal( label.text(), "Please enter a value greater than or equal to 0.", "Correct error label" );
});

test("Rules allowed to have a value of zero valid equal", function() {
var form = $("#ranges"),
name = $("#rangeMinZeroValidEqual"),
label;

form.validate();
form.get(0).reset();
name.valid();

label = $("#ranges label");
equal( label.text(), "", "Correct error label" );
});

test("Rules allowed to have a value of zero valid greater", function() {
var form = $("#ranges"),
name = $("#rangeMinZeroValidGreater"),
label;

form.validate();
form.get(0).reset();
name.valid();

label = $("#ranges label");
equal( label.text(), "", "Correct error label" );
});

0 comments on commit 9dc0d1d

Please sign in to comment.