Comments (2)
It's the same as #1964
from jquery-validation.
After using a "normalization" it ended in:
- If no normalization is used, "10" < "5" => true
- If normalization is used to return a Float, method required fails because
(10).length == 0
So I ended creating my own methods:
$.validator.addMethod( "greaterThanNumber", function( value, element, param ) {
var target = $( param );
if ( this.settings.onfocusout && target.not( ".validate-greaterThan-blur" ).length ) {
target.addClass( "validate-greaterThan-blur" ).on( "blur.validate-greaterThan", function() {
$( element ).valid();
} );
}
var val = target.val(), normalizer;
if (rules = target.rules()) {
if ( typeof rules.normalizer === "function" ) {
normalizer = rules.normalizer;
} else if ( typeof this.settings.normalizer === "function" ) {
normalizer = this.settings.normalizer;
}
// If normalizer is defined, then call it to retreive the changed value instead
// of using the real one.
// Note that `this` in the normalizer is `element`.
if ( normalizer ) {
val = normalizer.call( element, val );
// Delete the normalizer from rules to avoid treating it as a pre-defined method.
delete rules.normalizer;
}
}
return Number.parseFloat(value) > Number.parseFloat(val);
}, "Please enter a greater value." );
$.validator.addMethod( "greaterThanEqualNumber", function( value, element, param ) {
var target = $( param );
if ( this.settings.onfocusout && target.not( ".validate-greaterThanEqual-blur" ).length ) {
target.addClass( "validate-greaterThanEqual-blur" ).on( "blur.validate-greaterThanEqual", function() {
$( element ).valid();
} );
}
var val = target.val(), normalizer;
if (rules = target.rules()) {
if ( typeof rules.normalizer === "function" ) {
normalizer = rules.normalizer;
} else if ( typeof this.settings.normalizer === "function" ) {
normalizer = this.settings.normalizer;
}
if ( normalizer ) {
val = normalizer.call( element, val );
}
}
return Number.parseFloat(value) >= Number.parseFloat(val);
}, "Please enter a greater value." );
$.validator.addMethod( "lessThanNumber", function( value, element, param ) {
var target = $( param );
if ( this.settings.onfocusout && target.not( ".validate-lessThan-blur" ).length ) {
target.addClass( "validate-lessThan-blur" ).on( "blur.validate-lessThan", function() {
$( element ).valid();
} );
}
var val = target.val(), normalizer;
if (rules = target.rules()) {
if ( typeof rules.normalizer === "function" ) {
normalizer = rules.normalizer;
} else if ( typeof this.settings.normalizer === "function" ) {
normalizer = this.settings.normalizer;
}
// If normalizer is defined, then call it to retreive the changed value instead
// of using the real one.
// Note that `this` in the normalizer is `element`.
if ( normalizer ) {
val = normalizer.call( element, val );
// Delete the normalizer from rules to avoid treating it as a pre-defined method.
delete rules.normalizer;
}
}
return Number.parseFloat(value) < Number.parseFloat(val);
}, "Please enter a lesser value." );
$.validator.addMethod( "lessThanEqualNumber", function( value, element, param ) {
var target = $( param );
if ( this.settings.onfocusout && target.not( ".validate-lessThanEqual-blur" ).length ) {
target.addClass( "validate-lessThanEqual-blur" ).on( "blur.validate-lessThanEqual", function() {
$( element ).valid();
} );
}
var val = target.val(), normalizer;
if (rules = target.rules()) {
if ( typeof rules.normalizer === "function" ) {
normalizer = rules.normalizer;
} else if ( typeof this.settings.normalizer === "function" ) {
normalizer = this.settings.normalizer;
}
if ( normalizer ) {
val = normalizer.call( element, val );
}
}
return Number.parseFloat(value) <= Number.parseFloat(val);
}, "Please enter a lesser value." );
from jquery-validation.
Related Issues (20)
- Add ability to require at least one of multiple validation methods HOT 9
- Date validation failure. HOT 11
- Additional validation vinUS fails to validate valid Vehicle Identification Number (VIN).
- Add option to html escape the messages in showLabel function
- lessThan reports error if compared to empty field HOT 3
- Form not from HTML element HOT 2
- NuGet jQuery version dependency incorrect HOT 3
- Validation behaviour HOT 5
- If remote validation fails due to connection issue, it never allows the form to be submitted again HOT 1
- `step` automatic rule gets broken for very small steps HOT 2
- Validation error when remote check fields is preloaded. HOT 2
- I do not want this feature implemented on my device
- Form submitHandler endless loops HOT 2
- Focus on last focused field causes problems in accessibility HOT 1
- Cannot read properties of undefined (reading 'call'). Exception occurred when checking element , check the 'messages' method HOT 1
- Remote validation not working in last release HOT 4
- old version (19.5) on website HOT 1
- Using data-rule attributes for validation rules HOT 1
- file's accepted mimetypes as "*" results in a regex error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jquery-validation.